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

Conflicts:
	companion/src/eeprominterface.h
	companion/src/firmwares/opentx/opentxeeprom.cpp
	radio/src/opentx.cpp
	radio/src/translations/es.h.txt
	radio/src/translations/fr.h.txt
This commit is contained in:
Andre Bernet
2014-02-10 14:47:32 +01:00
238 changed files with 18614 additions and 8730 deletions
+3
View File
@@ -7,3 +7,6 @@
/simu.d
/snapshot_*.png
/*.sh
/*.o
/*.bin
/*.lst
+1 -1
View File
@@ -285,7 +285,7 @@ ifeq ($(PCB), $(filter $(PCB), STD 9X 9XR))
ARCH = AVR
TRGT = avr-
MCU = atmega64
OPT = s
OPT = s
SDCARD = NO
THR_TRACE = NO
INCDIRS += targets/stock
+1 -1
View File
@@ -571,7 +571,7 @@ void AudioQueue::wakeup()
}
// mix the background context
if (!isFunctionActive(FUNC_BACKGND_MUSIC_PAUSE)) {
if (!isFunctionActive(FUNCTION_BACKGND_MUSIC_PAUSE)) {
result = mixAudioContext(backgroundContext, buffer, g_eeGeneral.varioVolume, g_eeGeneral.backgroundVolume, fade);
if (result > 0) {
size = max(size, result);
+31 -12
View File
@@ -124,7 +124,7 @@ PACK(typedef struct {
}) TimerData_v215;
PACK(typedef struct {
TRIMS_ARRAY;
int16_t trim[4];
int8_t swtch; // swtch of phase[0] is not used
char name[LEN_FP_NAME];
uint8_t fadeIn;
@@ -170,7 +170,7 @@ PACK(typedef struct {
int16_t curves[16];
int8_t points[NUM_POINTS];
CustomSwData customSw[NUM_CSW];
LogicalSwitchData customSw[NUM_CSW];
CustomFnData funcSw[NUM_CFN];
SwashRingData swashR;
PhaseData_v215 phaseData[MAX_PHASES];
@@ -198,15 +198,18 @@ void ConvertGeneralSettings_215_to_216(EEGeneral &settings)
#if defined(PCBTARANIS)
int ConvertSwitch_215_to_216(int swtch)
{
if (swtch < SWSRC_ON)
if (swtch <= SWSRC_LAST_SWITCH)
return swtch;
else
return swtch + (2*6); // 2 * 6-pos pots added as switches
return swtch + (2*4) + (2*6); // 4 trims and 2 * 6-pos added as switches
}
#else
inline int ConvertSwitch_215_to_216(int swtch)
{
return swtch;
if (swtch <= SWSRC_LAST_SWITCH)
return swtch;
else
return swtch + (2*4) + 1; // 4 trims and REa added
}
#endif
@@ -221,7 +224,7 @@ void ConvertModel_215_to_216(ModelData &model)
// Custom Switches: better precision for x when A comes from telemetry
// Main View: altitude in top bar
// Mixes: GVARS in weight moved from 512 to 4096 and -512 to -4096, because GVARS may be used in limits [-1250:1250]
// Switches: two 6-pos pots added
// Switches: two 6-pos pots added, REa added to Sky9x
TRACE("Model conversion from v215 to v216");
@@ -378,15 +381,15 @@ void ConvertModel_215_to_216(ModelData &model)
for (uint8_t i=0; i<32; i++) {
g_model.customSw[i] = oldModel.customSw[i];
#if defined(PCBTARANIS)
CustomSwData * cs = &g_model.customSw[i];
LogicalSwitchData * cs = &g_model.customSw[i];
uint8_t cstate = cswFamily(cs->func);
if (cstate == CS_VOFS || cstate == CS_VCOMP || cstate == CS_VDIFF) {
if (cstate == LS_FAMILY_OFS || cstate == LS_FAMILY_COMP || cstate == LS_FAMILY_DIFF) {
if (cs->v1 > 0) cs->v1 += MAX_INPUTS + MAX_SCRIPTS*MAX_SCRIPT_OUTPUTS;
if (cs->v1 > MIXSRC_GVAR1+4) cs->v1 += 4;
}
if (cstate == CS_VOFS || cstate == CS_VDIFF) {
if (cstate == LS_FAMILY_OFS || cstate == LS_FAMILY_DIFF) {
if (cs->v1 >= MIXSRC_FIRST_TELEM) {
switch (cs->v1) {
switch ((uint8_t)cs->v1) {
case MIXSRC_FIRST_TELEM + TELEM_TM1-1:
case MIXSRC_FIRST_TELEM + TELEM_TM2-1:
cs->v2 = (cs->v2+128) * 3;
@@ -428,7 +431,7 @@ void ConvertModel_215_to_216(ModelData &model)
}
}
}
if (cstate == CS_VCOMP) {
if (cstate == LS_FAMILY_COMP) {
if (cs->v2 > 0) cs->v2 += MAX_INPUTS + MAX_SCRIPTS*MAX_SCRIPT_OUTPUTS;
if (cs->v2 > MIXSRC_GVAR1+4) cs->v2 += 4;
}
@@ -437,7 +440,7 @@ void ConvertModel_215_to_216(ModelData &model)
for (uint8_t i=0; i<32; i++) {
g_model.funcSw[i] = oldModel.funcSw[i];
CustomFnData *sd = &g_model.funcSw[i];
if (CFN_FUNC(sd) == FUNC_PLAY_VALUE || CFN_FUNC(sd) == FUNC_VOLUME || (IS_ADJUST_GV_FUNCTION(sd) && CFN_GVAR_MODE(sd) == FUNC_ADJUST_GVAR_SOURCE)) {
if (CFN_FUNC(sd) == FUNC_PLAY_VALUE || CFN_FUNC(sd) == FUNC_VOLUME || (IS_ADJUST_GV_FUNC(CFN_FUNC(sd)) && CFN_GVAR_MODE(sd) == FUNC_ADJUST_GVAR_SOURCE)) {
#if defined(PCBTARANIS)
CFN_PARAM(sd) += 1 + MAX_INPUTS + MAX_SCRIPTS*MAX_SCRIPT_OUTPUTS;
#endif
@@ -455,6 +458,22 @@ void ConvertModel_215_to_216(ModelData &model)
for (uint8_t i=0; i<9; i++) {
memcpy(&g_model.phaseData[i], &oldModel.phaseData[i], sizeof(oldModel.phaseData[i])); // the last 4 gvars will remain blank
#if defined(PCBTARANIS)
for (uint8_t t=0; t<4; t++) {
int trim = oldModel.phaseData[i].trim[t];
if (trim > 500) {
trim -= 501;
if (trim >= i)
trim += 1;
g_model.phaseData[i].trim[t].mode = 2*trim;
g_model.phaseData[i].trim[t].value = 0;
}
else {
g_model.phaseData[i].trim[t].mode = 2*i;
g_model.phaseData[i].trim[t].value = trim;
}
}
#endif
}
g_model.thrTraceSrc = oldModel.thrTraceSrc;
g_model.switchWarningStates = oldModel.switchWarningStates >> 1;
-1
View File
@@ -383,7 +383,6 @@ void eeLoadModel(uint8_t id)
resumePulses();
}
activeSwitches = 0;
activeFnSwitches = 0;
activeFunctions = 0;
memclear(lastFunctionTime, sizeof(lastFunctionTime));
-1
View File
@@ -948,7 +948,6 @@ void eeLoadModel(uint8_t id)
resumePulses();
}
activeSwitches = 0;
activeFnSwitches = 0;
activeFunctions = 0;
memclear(lastFunctionTime, sizeof(lastFunctionTime));
+4 -4
View File
@@ -304,8 +304,8 @@ TEST(getSwitch, circularCSW)
{
MODEL_RESET();
MIXER_RESET();
g_model.customSw[0] = { SWSRC_SW1, SWSRC_SW1, CS_OR };
g_model.customSw[1] = { SWSRC_SW1, SWSRC_SW1, CS_AND };
g_model.customSw[0] = { SWSRC_SW1, SWSRC_SW1, LS_FUNC_OR };
g_model.customSw[1] = { SWSRC_SW1, SWSRC_SW1, LS_FUNC_AND };
EXPECT_EQ(getSwitch(SWSRC_SW1), false);
EXPECT_EQ(getSwitch(-SWSRC_SW1), true);
EXPECT_EQ(getSwitch(SWSRC_SW2), false);
@@ -324,8 +324,8 @@ TEST(getSwitch, recursiveSW)
MODEL_RESET();
MIXER_RESET();
g_model.customSw[0] = { SWSRC_RUD, -SWSRC_SW2, CS_OR };
g_model.customSw[1] = { SWSRC_ELE, -SWSRC_SW1, CS_OR };
g_model.customSw[0] = { SWSRC_RUD, -SWSRC_SW2, LS_FUNC_OR };
g_model.customSw[1] = { SWSRC_ELE, -SWSRC_SW1, LS_FUNC_OR };
EXPECT_EQ(getSwitch(SWSRC_SW1), false);
EXPECT_EQ(getSwitch(SWSRC_SW2), true);
+6 -8
View File
@@ -1037,19 +1037,17 @@ void menuGeneralVersion(uint8_t event)
{
SIMPLE_MENU(STR_MENUVERSION, menuTabDiag, e_Vers, 1);
lcd_putsLeft(2*FH, stamp1);
lcd_putsLeft(3*FH, stamp2);
lcd_putsLeft(4*FH, stamp3);
lcd_putsLeft(2*FH, vers_stamp);
#if defined(PCBSKY9X) && !defined(REVA)
if (Coproc_valid == 1) {
lcd_putsLeft(5*FH, PSTR("CoPr:"));
lcd_outdez8(10*FW, 5*FH, Coproc_read);
lcd_putsLeft(6*FH, PSTR("CoPr:"));
lcd_outdez8(10*FW, 6*FH, Coproc_read);
}
else {
lcd_putsLeft(5*FH, PSTR("CoPr: ---"));
lcd_putsLeft(6*FH, PSTR("CoPr: ---"));
}
#endif
lcd_putsLeft(7*FH, eeprom_stamp);
#endif
}
void displayKeyState(uint8_t x, uint8_t y, EnumKeys key)
File diff suppressed because it is too large Load Diff
+50 -18
View File
@@ -228,18 +228,6 @@ int16_t checkIncDec(uint8_t event, int16_t val, int16_t i_min, int16_t i_max, ui
#endif
}
}
if (event == EVT_KEY_LONG(KEY_ENTER) && i_max > SWSRC_ON) {
s_editMode = !s_editMode;
if (newval > SWSRC_ON)
newval -= (NUM_SWITCH+1);
else if (newval > 0)
newval += (NUM_SWITCH+1);
else if (newval < SWSRC_OFF)
newval += (NUM_SWITCH+1);
else if (newval < 0)
newval -= (NUM_SWITCH+1);
}
}
#endif
@@ -976,7 +964,7 @@ int8_t switchMenuItem(uint8_t x, uint8_t y, int8_t value, LcdFlags attr, uint8_t
{
lcd_putsColumnLeft(x, y, STR_SWITCH);
putsSwitches(x, y, value, attr);
if (attr) CHECK_INCDEC_MODELSWITCH(event, value, -NUM_SWITCH, NUM_SWITCH);
if (attr) CHECK_INCDEC_MODELSWITCH(event, value, SWSRC_FIRST, SWSRC_LAST);
return value;
}
@@ -1046,6 +1034,16 @@ int16_t gvarMenuItem(uint8_t x, uint8_t y, int16_t value, int16_t min, int16_t m
}
#endif
void repeatLastCursorMove(uint8_t event)
{
if (CURSOR_MOVED_LEFT(event) || CURSOR_MOVED_RIGHT(event)) {
putEvent(event);
}
else {
m_posHorz = 0;
}
}
#if LCD_W >= 212
#define MENU_X 30
#define MENU_Y 16
@@ -1221,8 +1219,8 @@ bool isSourceAvailable(int16_t source)
}
if (source>=MIXSRC_SW1 && source<=MIXSRC_LAST_CSW) {
CustomSwData * cs = cswAddress(source-MIXSRC_SW1);
return (cs->func != CS_OFF);
LogicalSwitchData * cs = cswAddress(source-MIXSRC_SW1);
return (cs->func != LS_FUNC_NONE);
}
#if !defined(GVARS)
@@ -1250,7 +1248,7 @@ bool isInputSourceAvailable(int16_t source)
return false;
}
bool isSwitchAvailable(int16_t swtch)
bool isSwitchAvailableInLogicalSwitches(int16_t swtch)
{
if (swtch < 0) {
if (swtch <= -SWSRC_ON)
@@ -1276,11 +1274,45 @@ bool isSwitchAvailable(int16_t swtch)
}
#endif
return true;
}
bool isSwitchAvailable(int16_t swtch)
{
if (!isSwitchAvailableInLogicalSwitches(swtch)) {
return false;
}
if (swtch >= SWSRC_FIRST_CSW && swtch <= SWSRC_LAST_CSW) {
CustomSwData * cs = cswAddress(swtch-SWSRC_FIRST_CSW);
return (cs->func != CS_OFF);
LogicalSwitchData * cs = cswAddress(swtch-SWSRC_FIRST_CSW);
return (cs->func != LS_FUNC_NONE);
}
return true;
}
// Not available yet, will be needed if we implement the Range function later...
bool isLogicalSwitchFunctionAvailable(int16_t function)
{
return function != LS_FUNC_RANGE;
}
bool isAssignableFunctionAvailable(int16_t function)
{
switch (function) {
#if !defined(HAPTIC)
case FUNC_HAPTIC:
return false;
#endif
#if !defined(GVARS)
case FUNC_ADJUST_GVAR:
return false;
#endif
default:
return true;
}
}
#endif
+5 -1
View File
@@ -190,7 +190,10 @@ int8_t checkIncDecGen(uint8_t event, int8_t i_val, int8_t i_min, int8_t i_max);
var = checkIncDecModelZero(event,var,max)
#if defined(CPUARM)
bool isLogicalSwitchFunctionAvailable(int16_t function);
bool isAssignableFunctionAvailable(int16_t function);
bool isSwitchAvailable(int16_t swtch);
bool isSwitchAvailableInLogicalSwitches(int16_t swtch);
#define AUTOSWITCH_ENTER_LONG() (attr && event==EVT_KEY_LONG(KEY_ENTER))
#define CHECK_INCDEC_MODELSWITCH(event, var, min, max) \
var = checkIncDec(event,var,min,max,EE_MODEL|INCDEC_SWITCH|NO_INCDEC_MARKS, isSwitchAvailable)
@@ -401,7 +404,8 @@ bool modelHasNotes();
#define REPEAT_LAST_CURSOR_MOVE() { if (EVT_KEY_MASK(event) >= 0x0e) putEvent(event); else m_posHorz = 0; }
#define MOVE_CURSOR_FROM_HERE() if (m_posHorz > 0) REPEAT_LAST_CURSOR_MOVE()
#else
#define REPEAT_LAST_CURSOR_MOVE() m_posHorz = 0;
void repeatLastCursorMove(uint8_t event);
#define REPEAT_LAST_CURSOR_MOVE() repeatLastCursorMove(event)
#define MOVE_CURSOR_FROM_HERE() REPEAT_LAST_CURSOR_MOVE()
#endif
+5 -5
View File
@@ -295,7 +295,7 @@ void displayTopBar()
x -= 12;
}
if (isFunctionActive(FUNC_LOGS)) {
if (isFunctionActive(FUNCTION_LOGS)) {
LCD_NOTIF_ICON(x, ICON_LOGS);
x -= 12;
}
@@ -343,7 +343,7 @@ void displayTimers()
if (g_model.timers[0].mode) {
TimerState & timerState = timersStates[0];
putsTime(TIMERS_X, TIMER1_Y, timerState.val, MIDSIZE|LEFT, MIDSIZE|LEFT);
putsTmrMode(TIMERS_X, TIMER1_Y-6, g_model.timers[0].mode, STRCONDENSED|SMLSIZE);
putsTimerMode(TIMERS_X, TIMER1_Y-6, g_model.timers[0].mode, SMLSIZE);
if (g_model.timers[0].persistent) lcd_putcAtt(TIMERS_R, TIMER1_Y+1, 'P', SMLSIZE);
if (timerState.val < 0) {
if (BLINK_ON_PHASE) {
@@ -356,7 +356,7 @@ void displayTimers()
if (g_model.timers[1].mode) {
TimerState & timerState = timersStates[1];
putsTime(TIMERS_X, TIMER2_Y, timerState.val, MIDSIZE|LEFT, MIDSIZE|LEFT);
putsTmrMode(TIMERS_X, TIMER2_Y-6, g_model.timers[1].mode, STRCONDENSED|SMLSIZE);
putsTimerMode(TIMERS_X, TIMER2_Y-6, g_model.timers[1].mode, SMLSIZE);
if (g_model.timers[1].persistent) lcd_putcAtt(TIMERS_R, TIMER2_Y+1, 'P', SMLSIZE);
if (timerState.val < 0) {
if (BLINK_ON_PHASE) {
@@ -373,7 +373,7 @@ void displayTimers()
TimerState & timerState = timersStates[0];
uint8_t att = DBLSIZE | (timerState.val<0 ? BLINK|INVERS : 0);
putsTime(12*FW+2+10*FWNUM-4, FH*2, timerState.val, att, att);
putsTmrMode(timerState.val >= 0 ? 9*FW-FW/2+3 : 9*FW-FW/2-4, FH*3, g_model.timers[0].mode, STRCONDENSED);
putsTimerMode(timerState.val >= 0 ? 9*FW-FW/2+3 : 9*FW-FW/2-4, FH*3, g_model.timers[0].mode);
}
}
#endif
@@ -818,7 +818,7 @@ void menuMainView(uint8_t event)
}
else { // timer2
putsTime(33+FW+2+10*FWNUM-4, FH*5, timersStates[1].val, DBLSIZE, DBLSIZE);
putsTmrMode(timersStates[1].val >= 0 ? 20-FW/2+5 : 20-FW/2-2, FH*6, g_model.timers[1].mode, STRCONDENSED);
putsTimerMode(timersStates[1].val >= 0 ? 20-FW/2+5 : 20-FW/2-2, FH*6, g_model.timers[1].mode);
// lcd_outdezNAtt(33+11*FW, FH*6, s_timerVal_10ms[1], LEADING0, 2); // 1/100s
}
#endif // PCBTARANIS
+1 -3
View File
@@ -57,15 +57,13 @@ void menuStatisticsView(uint8_t event)
return;
}
lcd_puts( 1*FW, FH*1, STR_TM1TM2);
lcd_puts( 1*FW, FH*0, STR_TOTTM1TM2THRTHP);
putsTime( 5*FW+5*FWNUM+1, FH*1, timersStates[0].val, 0, 0);
putsTime( 12*FW+5*FWNUM+1, FH*1, timersStates[1].val, 0, 0);
lcd_puts( 1*FW, FH*2, STR_THRTHP);
putsTime( 5*FW+5*FWNUM+1, FH*2, s_timeCumThr, 0, 0);
putsTime( 12*FW+5*FWNUM+1, FH*2, s_timeCum16ThrP/16, 0, 0);
lcd_puts( 17*FW, FH*0, STR_TOT);
putsTime( 12*FW+5*FWNUM+1, FH*0, s_timeCumTot, 0, 0);
#if defined(PCBTARANIS)
+38 -63
View File
@@ -64,7 +64,8 @@ void lcd_img(xcoord_t x, uint8_t y, const pm_uchar * img, uint8_t idx, LcdFlags
for (uint8_t yb = 0; yb < hb; yb++) {
uint8_t *p = &displayBuf[ (y / 8 + yb) * LCD_W + x ];
for (xcoord_t i=0; i<w; i++){
uint8_t b = pgm_read_byte(q++);
uint8_t b = pgm_read_byte(q);
q++;
ASSERT_IN_DISPLAY(p);
#if defined(PCBTARANIS)
uint8_t val = inv ? ~b : b;
@@ -199,7 +200,7 @@ void lcd_putcAtt(xcoord_t x, uint8_t y, const unsigned char c, LcdFlags flags)
b1 = ~b1;
b2 = ~b2;
}
uint8_t ym8 = (y & 0x07);
const uint8_t ym8 = (y & 0x07);
if (&p[LCD_W+1] < DISPLAY_END) {
LCD_BYTE_FILTER(p, ~(0xff << ym8), b1 << ym8);
uint8_t *r = p + LCD_W;
@@ -220,7 +221,7 @@ void lcd_putcAtt(xcoord_t x, uint8_t y, const unsigned char c, LcdFlags flags)
}
else if (flags & SMLSIZE) {
q = (c < 0xC0) ? &font_4x6[(c-0x20)*5] : &font_4x6_extra[(c-0xC0)*5];
uint8_t ym8 = (y & 0x07);
const uint8_t ym8 = (y & 0x07);
for (int8_t i=0; i<=6; i++) {
uint8_t b = 0;
if (!i) {
@@ -247,7 +248,7 @@ void lcd_putcAtt(xcoord_t x, uint8_t y, const unsigned char c, LcdFlags flags)
}
else if (flags & TINSIZE) {
q = &font_3x5[((uint16_t)c-0x2D)*3];
uint8_t ym8 = (y & 0x07);
const uint8_t ym8 = (y & 0x07);
for (int8_t i=0; i<=4; i++) {
uint8_t b = 0;
if (!i) {
@@ -273,7 +274,7 @@ void lcd_putcAtt(xcoord_t x, uint8_t y, const unsigned char c, LcdFlags flags)
}
#endif
else {
uint8_t ym8 = (y & 0x07);
const uint8_t ym8 = (y & 0x07);
#if defined(BOLD_FONT) && defined(CPUM64) && !defined(EXTSTD)
uint8_t bb = 0;
if (inv) bb = 0xff;
@@ -360,11 +361,9 @@ void lcd_putsiAtt(xcoord_t x, uint8_t y,const pm_char * s,uint8_t idx, LcdFlags
void lcd_putsnAtt(xcoord_t x, uint8_t y, const pm_char * s, uint8_t len, LcdFlags mode)
{
#if defined(CPUARM)
xcoord_t orig_x = x;
#endif
bool setx = false;
while(len!=0) {
while(len--) {
unsigned char c;
switch (mode & (BSS+ZCHAR)) {
case BSS:
@@ -394,21 +393,20 @@ void lcd_putsnAtt(xcoord_t x, uint8_t y, const pm_char * s, uint8_t len, LcdFlag
else if (c == 0x1F) { //X-coord prefix
setx = true;
}
#if defined(CPUARM)
else if (c == 0x1E) { //NEWLINE
x = orig_x;
y += FH;
#if defined(CPUARM)
if (mode & DBLSIZE) y += FH;
else if (mode & MIDSIZE) y += 4;
else if (mode & SMLSIZE) y--;
#endif
if (y >= LCD_H) break;
}
#endif
else {
x += (c*FW/2); //EXTENDED SPACE
}
s++;
len--;
}
lcdLastPos = x;
lcdNextPos = x;
@@ -671,7 +669,7 @@ void lcd_hlineStip(xcoord_t x, uint8_t y, xcoord_t w, uint8_t pat, LcdFlags att)
uint8_t *p = &displayBuf[ y / 8 * LCD_W + x ];
uint8_t msk = BITMASK(y%8);
while(w) {
while(w--) {
if(pat&1) {
lcd_mask(p, msk, att);
pat = (pat >> 1) | 0x80;
@@ -679,7 +677,6 @@ void lcd_hlineStip(xcoord_t x, uint8_t y, xcoord_t w, uint8_t pat, LcdFlags att)
else {
pat = pat >> 1;
}
w--;
p++;
}
}
@@ -1043,41 +1040,6 @@ void putsSwitches(xcoord_t x, uint8_t y, int8_t idx, LcdFlags att)
lcd_vlineStip(x-2, y, 8, 0x5E/*'!'*/);
idx = -idx;
}
#if ROTARY_ENCODERS > 0
else if (idx >= SWSRC_FIRST_ROTENC_SWITCH) {
idx -= SWSRC_FIRST_ROTENC_SWITCH;
char suffix = (idx & 1) ? CHR_LONG : CHR_SHORT;
lcd_putsiAtt(x, y, STR_VRENCODERS, idx/2, att);
return lcd_putcAtt(lcdLastPos, y, suffix, att);
}
#endif
#if !defined(PCBSTD)
else if (idx >= SWSRC_TRAINER_SHORT) {
idx -= SWSRC_TRAINER_SHORT;
char suffix = (idx & 1) ? CHR_LONG : CHR_SHORT;
#if ROTARY_ENCODERS > 0
if (idx >= 2) {
idx -= 2;
lcd_putsiAtt(x, y, STR_VRENCODERS, idx/2, att);
}
else
#endif
{
lcd_putsiAtt(x, y, STR_VSWITCHES, SWSRC_TRAINER-1, att);
}
return lcd_putcAtt(lcdLastPos, y, suffix, att);
}
#endif
if (idx > SWSRC_ON) {
idx -= SWSRC_ON;
if (idx != SWSRC_ON && (~att & STRCONDENSED)) {
lcd_putsiAtt(x, y, STR_VSWITCHES, idx-1, att);
return lcd_putcAtt(lcdLastPos, y, CHR_TOGGLE, att);
}
}
lcd_putsiAtt(x, y, STR_VSWITCHES, idx-1, att);
}
@@ -1144,27 +1106,39 @@ void putsCurve(xcoord_t x, uint8_t y, int8_t idx, LcdFlags att)
}
#endif
void putsTmrMode(xcoord_t x, uint8_t y, int8_t mode, LcdFlags att)
void putsTimerMode(xcoord_t x, uint8_t y, int8_t mode, LcdFlags att)
{
if (mode < 0) {
mode = TMR_VAROFS - mode - 1;
lcd_putcAtt(x-1*FW, y, '!', att);
if (mode >= 0) {
if (mode < TMR_VAROFS)
return lcd_putsiAtt(x, y, STR_VTMRMODES, mode, att);
else
mode -= (TMR_VAROFS-1);
}
else if (mode < TMR_VAROFS) {
lcd_putsiAtt(x, y, STR_VTMRMODES, mode, att);
return;
}
if (mode >= TMR_VAROFS+NUM_PSWITCH+NUM_CSW) {
mode++;
}
putsSwitches(x, y, mode-(TMR_VAROFS-1), att);
putsSwitches(x, y, mode, att);
}
#if defined(PCBTARANIS)
void putsTrimMode(xcoord_t x, uint8_t y, uint8_t phase, uint8_t idx, LcdFlags att)
{
int16_t v = getRawTrimValue(phase, idx);
trim_t v = getRawTrimValue(phase, idx);
unsigned int mode = v.mode;
unsigned int p = mode >> 1;
if (mode == TRIM_MODE_NONE) {
lcd_putsAtt(x, y, "--", att);
}
else {
if (mode % 2 == 0)
lcd_putcAtt(x, y, ':', att|FIXEDWIDTH);
else
lcd_putcAtt(x, y, '+', att|FIXEDWIDTH);
lcd_putcAtt(lcdNextPos, y, '0'+p, att);
}
}
#else
void putsTrimMode(xcoord_t x, uint8_t y, uint8_t phase, uint8_t idx, LcdFlags att)
{
trim_t v = getRawTrimValue(phase, idx);
if (v > TRIM_EXTENDED_MAX) {
uint8_t p = v - TRIM_EXTENDED_MAX - 1;
@@ -1175,6 +1149,7 @@ void putsTrimMode(xcoord_t x, uint8_t y, uint8_t phase, uint8_t idx, LcdFlags at
putsChnLetter(x, y, idx+1, att);
}
}
#endif
#if ROTARY_ENCODERS > 0
void putsRotaryEncoderMode(xcoord_t x, uint8_t y, uint8_t phase, uint8_t idx, LcdFlags att)
+1 -2
View File
@@ -83,7 +83,6 @@
/* no 0x80 here because of "GV"1 which is aligned LEFT */
/* no 0x10 here because of "MODEL"01 which uses LEADING0 */
#define BSS 0x20
#define STRCONDENSED 0x80 /* means that THRm will be displayed as THR */
#define ZCHAR 0x80
/* lcd outdez flags */
@@ -174,7 +173,7 @@ void putsFlightPhase(xcoord_t x, uint8_t y, int8_t idx, LcdFlags att=0);
void putsCurveRef(xcoord_t x, uint8_t y, CurveRef &curve, LcdFlags att);
#endif
void putsCurve(xcoord_t x, uint8_t y, int8_t idx, LcdFlags att=0);
void putsTmrMode(xcoord_t x, uint8_t y, int8_t mode, LcdFlags att);
void putsTimerMode(xcoord_t x, uint8_t y, int8_t mode, LcdFlags att=0);
void putsTrimMode(xcoord_t x, uint8_t y, uint8_t phase, uint8_t idx, LcdFlags att);
#if defined(ROTARY_ENCODERS)
void putsRotaryEncoderMode(xcoord_t x, uint8_t y, uint8_t phase, uint8_t idx, LcdFlags att);
+1 -1
View File
@@ -175,7 +175,7 @@ void writeLogs()
{
static const pm_char * error_displayed = NULL;
if (isFunctionActive(FUNC_LOGS) && logDelay > 0) {
if (isFunctionActive(FUNCTION_LOGS) && logDelay > 0) {
tmr10ms_t tmr10ms = get_tmr10ms();
if (lastLogTime == 0 || (tmr10ms_t)(tmr10ms - lastLogTime) >= (tmr10ms_t)logDelay*10) {
lastLogTime = tmr10ms;
+1 -1
View File
@@ -120,7 +120,7 @@ void varioWakeup()
static tmr10ms_t s_varioTmr;
tmr10ms_t tmr10ms = get_tmr10ms();
if (isFunctionActive(FUNC_VARIO)) {
if (isFunctionActive(FUNCTION_VARIO)) {
#if defined(AUDIO)
cli();
int16_t verticalSpeed = frskyData.hub.varioSpeed;
+161 -105
View File
@@ -668,82 +668,110 @@ PACK( union u_int8int16_t {
#endif
enum LogicalSwitchesFunctions {
LS_FUNC_NONE,
LS_FUNC_VEQUAL, // v==offset
LS_FUNC_VPOS, // v>offset
LS_FUNC_VNEG, // v<offset
#if defined(CPUARM)
#define MAX_CSW_DURATION 120 /*60s*/
#define MAX_CSW_DELAY 120 /*60s*/
#define MAX_CSW_ANDSW NUM_SWITCH
typedef int16_t csw_telemetry_value_t;
PACK(typedef struct t_CustomSwData { // Custom Switches data
int16_t v1;
LS_FUNC_RANGE,
#endif
LS_FUNC_APOS, // |v|>offset
LS_FUNC_ANEG, // |v|<offset
LS_FUNC_AND,
LS_FUNC_OR,
LS_FUNC_XOR,
#if defined(CPUARM)
LS_FUNC_STAY,
#endif
LS_FUNC_EQUAL,
LS_FUNC_GREATER,
LS_FUNC_LESS,
LS_FUNC_DIFFEGREATER,
LS_FUNC_ADIFFEGREATER,
LS_FUNC_TIMER,
LS_FUNC_STICKY,
LS_FUNC_COUNT,
LS_FUNC_MAX = LS_FUNC_COUNT-1
};
#if defined(CPUARM)
#define MAX_LS_DURATION 120 /*60s*/
#define MAX_LS_DELAY 120 /*60s*/
#define MAX_LS_ANDSW SWSRC_LAST
typedef int16_t ls_telemetry_value_t;
PACK(typedef struct t_LogicalSwitchData { // Custom Switches data
int8_t v1;
int16_t v2;
int16_t v3;
uint8_t func;
uint8_t delay;
uint8_t duration;
int8_t andsw;
}) CustomSwData;
}) LogicalSwitchData;
#else
typedef uint8_t csw_telemetry_value_t;
#define MAX_CSW_ANDSW 15
PACK(typedef struct t_CustomSwData { // Custom Switches data
typedef uint8_t ls_telemetry_value_t;
#define MAX_LS_ANDSW 15
PACK(typedef struct t_LogicalSwitchData { // Custom Switches data
int8_t v1; //input
int8_t v2; //offset
uint8_t func:4;
uint8_t andsw:4;
}) CustomSwData;
}) LogicalSwitchData;
#endif
enum Functions {
#if defined(CPUARM)
FUNC_SAFETY_CH1,
FUNC_SAFETY_CH16=FUNC_SAFETY_CH1+15,
#else
FUNC_SAFETY_GROUP1,
FUNC_SAFETY_GROUP2,
FUNC_SAFETY_GROUP3,
FUNC_SAFETY_GROUP4,
#endif
// first the functions which need a checkbox
FUNC_SAFETY_CHANNEL,
FUNC_TRAINER,
FUNC_TRAINER_RUD,
FUNC_TRAINER_ELE,
FUNC_TRAINER_THR,
FUNC_TRAINER_AIL,
FUNC_INSTANT_TRIM,
FUNC_PLAY_SOUND,
#if !defined(PCBTARANIS)
FUNC_HAPTIC,
#endif
FUNC_RESET,
FUNC_VARIO,
#if defined(CPUARM)
FUNC_SET_TIMER,
#endif
FUNC_ADJUST_GVAR,
#if defined(CPUARM)
FUNC_VOLUME,
#endif
// then the other functions
FUNC_FIRST_WITHOUT_ENABLE,
FUNC_PLAY_SOUND = FUNC_FIRST_WITHOUT_ENABLE,
FUNC_PLAY_TRACK,
#if !defined(CPUARM)
FUNC_PLAY_BOTH,
#endif
FUNC_PLAY_VALUE,
#if !defined(PCBSTD)
FUNC_LOGS,
#endif
#if defined(CPUARM)
FUNC_VOLUME,
#endif
FUNC_BACKLIGHT,
#if defined(CPUARM)
FUNC_BACKGND_MUSIC,
FUNC_BACKGND_MUSIC_PAUSE,
#endif
#if defined(GVARS)
FUNC_ADJUST_GV1,
FUNC_ADJUST_GVLAST = (FUNC_ADJUST_GV1 + (MAX_GVARS-1)),
FUNC_VARIO,
FUNC_HAPTIC,
#if !defined(PCBSTD)
FUNC_LOGS,
#endif
FUNC_BACKLIGHT,
#if defined(DEBUG)
FUNC_TEST, // should remain the last before MAX as not added in companion9x
#endif
FUNC_MAX
};
#if defined(GVARS)
#define IS_ADJUST_GV_FUNCTION(sd) (CFN_FUNC(sd) >= FUNC_ADJUST_GV1 && CFN_FUNC(sd) <= FUNC_ADJUST_GVLAST)
#define HAS_ENABLE_PARAM(func) (func < FUNC_FIRST_WITHOUT_ENABLE)
#if defined(CPUARM)
#define IS_PLAY_BOTH_FUNC(func) (0)
#define IS_VOLUME_FUNC(func) (func == FUNC_VOLUME)
#else
#define IS_ADJUST_GV_FUNCTION(sd) (0)
#define IS_PLAY_BOTH_FUNC(func) (func == FUNC_PLAY_BOTH)
#define IS_VOLUME_FUNC(func) (0)
#endif
#if defined(GVARS)
#define IS_ADJUST_GV_FUNC(func) (func == FUNC_ADJUST_GVAR)
#else
#define IS_ADJUST_GV_FUNC(func) (0)
#endif
#if defined(VOICE)
@@ -786,56 +814,70 @@ PACK(typedef struct t_CustomFnData { // Function Switches data
int8_t swtch;
uint8_t func;
PACK(union {
char name[LEN_CFN_NAME];
struct {
char name[LEN_CFN_NAME];
} play;
struct {
int16_t val;
int16_t ext1;
int16_t ext2;
} composite;
}) param;
uint8_t mode:2;
uint8_t active:6;
uint8_t mode;
uint8_t param;
int16_t spare2;
} all;
struct {
int32_t val1;
int16_t val2;
} clear;
});
uint8_t active;
}) CustomFnData;
#define CFN_EMPTY(p) (!(p)->swtch)
#define CFN_SWITCH(p) ((p)->swtch)
#define CFN_FUNC(p) ((p)->func)
#define CFN_ACTIVE(p) ((p)->active)
#define CFN_CH_NUMBER(p) (CFN_FUNC(p))
#define CFN_CH_INDEX(p) ((p)->all.param)
#define CFN_GVAR_INDEX(p) ((p)->all.param)
#define CFN_TIMER_INDEX(p) ((p)->all.param)
#define CFN_PLAY_REPEAT(p) ((p)->active)
#define CFN_PLAY_REPEAT_MUL 1
#define CFN_PLAY_REPEAT_NOSTART 0x3F
#define CFN_GVAR_MODE(p) ((p)->mode)
#define CFN_PARAM(p) ((p)->param.composite.val)
#define CFN_RESET(p) (p->active = 0, memset(&(p)->param, 0, sizeof((p)->param)))
#define CFN_GVAR_MODE(p) ((p)->all.mode)
#define CFN_PARAM(p) ((p)->all.val)
#define CFN_RESET(p) ((p)->active=0, (p)->clear.val1=0, (p)->clear.val2=0)
#else
PACK(typedef struct t_CustomFnData {
int8_t swtch; // input
union {
PACK(union {
struct {
uint8_t param:3;
uint8_t func:5;
} func_param;
int8_t swtch:6;
uint16_t func:4;
uint8_t mode:2;
uint8_t param:3;
uint8_t active:1;
} gvar;
struct {
uint8_t active:1;
uint8_t param:2;
uint8_t func:5;
} func_param_enable;
int8_t swtch:6;
uint16_t func:4;
uint8_t param:4;
uint8_t spare:1;
uint8_t active:1;
} all;
});
struct {
uint8_t active:1;
uint8_t func:7;
} func_safety;
} internal;
uint8_t param;
uint8_t value;
}) CustomFnData;
#define CFN_FUNC(p) ((p)->internal.func_param.func)
#define CFN_ACTIVE(p) ((p)->internal.func_param_enable.active)
#define CFN_CH_NUMBER(p) ((p)->internal.func_safety.func)
#define CFN_PLAY_REPEAT(p) ((p)->internal.func_param.param)
#define CFN_SWITCH(p) ((p)->all.swtch)
#define CFN_FUNC(p) ((p)->all.func)
#define CFN_ACTIVE(p) ((p)->all.active)
#define CFN_CH_INDEX(p) ((p)->all.param)
#define CFN_TIMER_INDEX(p) ((p)->all.param)
#define CFN_GVAR_INDEX(p) ((p)->gvar.param)
#define CFN_PLAY_REPEAT(p) ((p)->all.param)
#define CFN_PLAY_REPEAT_MUL 10
#define CFN_GVAR_MODE(p) ((p)->internal.func_param_enable.param)
#define CFN_PARAM(p) ((p)->param)
#define CFN_RESET(p) ((p)->internal.func_param_enable.active = 0, CFN_PARAM(p) = 0)
#define CFN_GVAR_MODE(p) ((p)->gvar.mode)
#define CFN_PARAM(p) ((p)->value)
#define CFN_RESET(p) ((p)->all.active = 0, CFN_PARAM(p) = 0)
#endif
enum TelemetryUnit {
@@ -1101,8 +1143,18 @@ PACK(typedef struct t_SwashRingData { // Swash Ring data
#if defined(PCBSTD)
#define TRIMS_ARRAY int8_t trim[4]; int8_t trim_ext:8
#define TRIMS_ARRAY_SIZE 5
#define trim_t int16_t
#else
#define TRIMS_ARRAY int16_t trim[4]
#if defined(PCBTARANIS)
PACK(typedef struct {
int16_t value:11;
uint16_t mode:5;
}) trim_t;
#define TRIM_MODE_NONE 0x1F // 0b11111
#else
#define trim_t int16_t
#endif
#define TRIMS_ARRAY trim_t trim[4]
#define TRIMS_ARRAY_SIZE 8
#endif
@@ -1156,6 +1208,7 @@ enum SwitchSources {
SWSRC_SG2,
SWSRC_SH0,
SWSRC_SH2,
SWSRC_TRAINER = SWSRC_SH2,
#else
SWSRC_ID0 = SWSRC_FIRST_SWITCH,
SWSRC_ID1,
@@ -1171,11 +1224,37 @@ enum SwitchSources {
SWSRC_AIL,
SWSRC_GEA,
SWSRC_TRN,
SWSRC_TRAINER = SWSRC_TRN,
#endif
SWSRC_LAST_SWITCH = SWSRC_TRAINER,
#if defined(PCBTARANIS)
SWSRC_P11,
SWSRC_P16 = SWSRC_P11+5,
SWSRC_P21,
SWSRC_P26 = SWSRC_P21+5,
#endif
SWSRC_FIRST_TRIM,
SWSRC_TrimRudLeft = SWSRC_FIRST_TRIM,
SWSRC_TrimRudRight,
SWSRC_TrimEleDown,
SWSRC_TrimEleUp,
SWSRC_TrimThrDown,
SWSRC_TrimThrUp,
SWSRC_TrimAilLeft,
SWSRC_TrimAilRight,
SWSRC_LAST_TRIM = SWSRC_TrimAilRight,
#if defined(PCBSKY9X)
SWSRC_REa,
#elif defined(PCBGRUVIN9X) || defined(PCBMEGA2560)
SWSRC_REa,
SWSRC_REb,
#endif
SWSRC_FIRST_CSW,
SWSRC_LAST_SWITCH = SWSRC_FIRST_CSW-1,
SWSRC_SW1 = SWSRC_FIRST_CSW,
SWSRC_SW2,
SWSRC_SW3,
@@ -1190,34 +1269,11 @@ enum SwitchSources {
SWSRC_SWC,
SWSRC_LAST_CSW = SWSRC_SW1+NUM_CSW-1,
#if defined(PCBTARANIS)
SWSRC_P11,
SWSRC_P16 = SWSRC_P11+5,
SWSRC_P21,
SWSRC_P26 = SWSRC_P21+5,
#endif
SWSRC_ON,
SWSRC_FIRST_MOMENT_SWITCH,
SWSRC_LAST_MOMENT_SWITCH = SWSRC_FIRST_MOMENT_SWITCH+SWSRC_LAST_CSW,
#if !defined(PCBSTD)
SWSRC_TRAINER_SHORT,
SWSRC_TRAINER_LONG,
#endif
#if ROTARY_ENCODERS > 0
SWSRC_FIRST_ROTENC_SWITCH,
SWSRC_LAST_ROTENC_SWITCH = SWSRC_FIRST_ROTENC_SWITCH+(2*ROTARY_ENCODERS)-1,
#endif
SWSRC_COUNT,
SWSRC_FIRST = -SWSRC_LAST_MOMENT_SWITCH,
SWSRC_LAST = SWSRC_COUNT-1,
SWSRC_OFF = -SWSRC_ON,
SWSRC_TRAINER = SWSRC_SW1-1,
SWSRC_FIRST = SWSRC_OFF,
SWSRC_LAST = SWSRC_ON
};
enum MixSources {
@@ -1485,7 +1541,7 @@ PACK(typedef struct t_ModelData {
CURVDATA curves[MAX_CURVES];
int8_t points[NUM_POINTS];
CustomSwData customSw[NUM_CSW];
LogicalSwitchData customSw[NUM_CSW];
CustomFnData funcSw[NUM_CFN];
SwashRingData swashR;
PhaseData phaseData[MAX_PHASES];
+413 -321
View File
File diff suppressed because it is too large Load Diff
+56 -54
View File
@@ -397,7 +397,6 @@ enum EnumKeys {
#define NUM_PSWITCH (SWSRC_LAST_SWITCH-SWSRC_FIRST_SWITCH+1)
#define NUM_POTSSW (NUM_XPOTS*6)
#define NUM_SWITCH (NUM_PSWITCH+NUM_CSW+NUM_POTSSW)
#if defined(PCBTARANIS)
#define KEY_RIGHT KEY_PLUS
@@ -623,33 +622,6 @@ enum BaseCurves {
#define SWASH_TYPE_90 4
#define SWASH_TYPE_NUM 4
enum CswFunctions {
CS_OFF,
CS_VEQUAL, // v==offset
CS_VPOS, // v>offset
CS_VNEG, // v<offset
CS_APOS, // |v|>offset
CS_ANEG, // |v|<offset
CS_AND,
CS_OR,
CS_XOR,
CS_EQUAL,
CS_GREATER,
CS_LESS,
CS_DIFFEGREATER,
CS_ADIFFEGREATER,
CS_TIMER,
CS_MAXF = CS_TIMER
};
#define CS_VOFS 0
#define CS_VBOOL 1
#define CS_VCOMP 2
#define CS_VDIFF 3
#define CS_VTIMER 4
uint8_t cswFamily(uint8_t func);
int16_t cswTimerValue(int8_t val);
#define NUM_CYC 3
#define NUM_CAL_PPM 4
#define NUM_PPM 8
@@ -802,6 +774,7 @@ enum PowerState {
};
bool switchState(EnumKeys enuk);
uint8_t trimDown(uint8_t idx);
void readKeysAndTrims();
uint16_t evalChkSum();
@@ -875,10 +848,15 @@ int8_t getMovedSwitch();
#define getFlightPhase() 0
#endif
extern uint8_t getTrimFlightPhase(uint8_t phase, uint8_t idx);
extern int16_t getRawTrimValue(uint8_t phase, uint8_t idx);
extern int16_t getTrimValue(uint8_t phase, uint8_t idx);
extern void setTrimValue(uint8_t phase, uint8_t idx, int16_t trim);
#if !defined(PCBTARANIS)
uint8_t getTrimFlightPhase(uint8_t phase, uint8_t idx);
#else
#define getTrimFlightPhase(phase, idx) (phase)
#endif
trim_t getRawTrimValue(uint8_t phase, uint8_t idx);
int getTrimValue(uint8_t phase, uint8_t idx);
void setTrimValue(uint8_t phase, uint8_t idx, int trim);
#if defined(ROTARY_ENCODERS)
int16_t getRotaryEncoder(uint8_t idx);
@@ -941,10 +919,8 @@ extern uint16_t s_timeCumThr;
extern uint16_t s_timeCum16ThrP;
struct TimerState {
uint8_t lastPos;
uint16_t cnt;
uint16_t sum;
uint8_t toggled;
uint8_t state;
int16_t val;
uint8_t val_10ms;
@@ -1192,10 +1168,7 @@ extern int8_t calcRESXto100(int16_t x);
#define TMR_VAROFS 5
extern const char stamp1[];
extern const char stamp2[];
extern const char stamp3[];
extern const char eeprom_stamp[];
extern const char vers_stamp[];
extern uint8_t g_vbat100mV;
#define g_blinkTmr10ms (*(uint8_t*)&g_tmr10ms)
@@ -1252,7 +1225,7 @@ ExpoData *expoAddress(uint8_t idx);
MixData *mixAddress(uint8_t idx);
LimitData *limitAddress(uint8_t idx);
int8_t *curveAddress(uint8_t idx);
CustomSwData *cswAddress(uint8_t idx);
LogicalSwitchData *cswAddress(uint8_t idx);
#if !defined(PCBTARANIS)
struct CurveInfo {
@@ -1316,20 +1289,49 @@ extern int24_t act [MAX_MIXERS];
#define isMixActive(x) false
#endif
enum CswFunctionFamilies {
LS_FAMILY_OFS,
LS_FAMILY_BOOL,
LS_FAMILY_COMP,
LS_FAMILY_DIFF,
LS_FAMILY_TIMER,
LS_FAMILY_STICKY,
LS_FAMILY_RANGE,
LS_FAMILY_STAY
};
uint8_t cswFamily(uint8_t func);
int16_t cswTimerValue(delayval_t val);
#if defined(CPUARM)
#define MASK_CFN_TYPE uint32_t // current max = 32 function switches
#define MASK_FUNC_TYPE uint32_t // current max = 32 functions
#define MASK_CFN_TYPE uint32_t // current max = 32 function switches
#define MASK_FUNC_TYPE uint32_t // current max = 32 functions
#elif defined(CPUM64)
#define MASK_CFN_TYPE uint16_t // current max = 16 function switches
#define MASK_FUNC_TYPE uint16_t // current max = 16 functions
#define MASK_CFN_TYPE uint16_t // current max = 16 function switches
#define MASK_FUNC_TYPE uint8_t // current max = 8 functions
#else
#define MASK_CFN_TYPE uint32_t // current max = 32 function switches
#define MASK_FUNC_TYPE uint16_t // current max = 16 functions
#define MASK_CFN_TYPE uint32_t // current max = 32 function switches
#define MASK_FUNC_TYPE uint8_t // current max = 8 functions
#endif
extern MASK_CFN_TYPE activeSwitches;
extern MASK_CFN_TYPE activeFnSwitches;
enum FunctionsActive {
FUNCTION_TRAINER,
FUNCTION_INSTANT_TRIM = FUNCTION_TRAINER+4,
FUNCTION_VARIO,
FUNCTION_BACKLIGHT,
#if defined(SDCARD)
FUNCTION_LOGS,
#endif
#if defined(CPUARM)
FUNCTION_BACKGND_MUSIC,
FUNCTION_BACKGND_MUSIC_PAUSE,
#endif
};
extern MASK_FUNC_TYPE activeFunctions;
extern MASK_CFN_TYPE activeFnSwitches;
extern tmr10ms_t lastFunctionTime[NUM_CFN];
#if defined(CPUARM)
@@ -1338,7 +1340,7 @@ extern bool evalFunctionsFirstTime;
inline bool isFunctionActive(uint8_t func)
{
return activeFunctions & ((MASK_FUNC_TYPE)1 << (func-FUNC_TRAINER));
return activeFunctions & ((uint8_t)1 << func);
}
#if defined(ROTARY_ENCODERS)
@@ -1644,20 +1646,20 @@ extern uint8_t barsThresholds[THLD_MAX];
#endif
#if defined(FRSKY)
csw_telemetry_value_t minTelemValue(uint8_t channel);
csw_telemetry_value_t maxTelemValue(uint8_t channel);
ls_telemetry_value_t minTelemValue(uint8_t channel);
ls_telemetry_value_t maxTelemValue(uint8_t channel);
#else
#define minTelemValue(channel) 255
#define maxTelemValue(channel) 255
#endif
#if defined(CPUARM)
getvalue_t convert16bitsTelemValue(uint8_t channel, csw_telemetry_value_t value);
csw_telemetry_value_t max8bitsTelemValue(uint8_t channel);
getvalue_t convert16bitsTelemValue(uint8_t channel, ls_telemetry_value_t value);
ls_telemetry_value_t max8bitsTelemValue(uint8_t channel);
#endif
getvalue_t convert8bitsTelemValue(uint8_t channel, csw_telemetry_value_t value);
getvalue_t convertCswTelemValue(CustomSwData * cs);
getvalue_t convert8bitsTelemValue(uint8_t channel, ls_telemetry_value_t value);
getvalue_t convertCswTelemValue(LogicalSwitchData * cs);
#if defined(CPUARM)
#define convertTelemValue(channel, value) convert16bitsTelemValue(channel, value)
+2 -2
View File
@@ -79,8 +79,8 @@ FXDEFMAP(Open9xSim) Open9xSimMap[]={
FXIMPLEMENT(Open9xSim,FXMainWindow,Open9xSimMap,ARRAYNUMBER(Open9xSimMap))
Open9xSim::Open9xSim(FXApp* a)
:FXMainWindow(a,"OpenTXSimu",NULL,NULL,DECOR_ALL,20,90,0,0)
Open9xSim::Open9xSim(FXApp* a):
FXMainWindow(a, "OpenTX Simu", NULL, NULL, DECOR_ALL, 20, 90, 0, 0)
{
firstTime=true;
for(int i=0; i<(LCD_W*LCD_H/8); i++) displayBuf[i]=0;//rand();
+2 -5
View File
@@ -40,11 +40,8 @@
#define STR2(s) #s
#define DEFNUMSTR(s) STR2(s)
const pm_char stamp1[] PROGMEM = "VERS: " VERS_STR;
const pm_char stamp2[] PROGMEM = "DATE: " DATE_STR;
const pm_char stamp3[] PROGMEM = "TIME: " TIME_STR;
#if defined(PCBSTD)
const pm_char eeprom_stamp[] PROGMEM = "EEPR: " DEFNUMSTR(EEPROM_VER) "-" DEFNUMSTR(EEPROM_VARIANT);
const pm_char vers_stamp[] PROGMEM = "VERS\037\033: " VERS_STR "\036DATE\037\033: " DATE_STR"\036TIME\037\033: " TIME_STR "\036EEPR\037\033: " DEFNUMSTR(EEPROM_VER) "-" DEFNUMSTR(EEPROM_VARIANT);
#else
const pm_char eeprom_stamp[] PROGMEM = "EEPR: " DEFNUMSTR(EEPROM_VER);
const pm_char vers_stamp[] PROGMEM = "VERS\037\033: " VERS_STR "\036DATE\037\033: " DATE_STR"\036TIME\037\033: " TIME_STR "\036EEPR\037\033: " DEFNUMSTR(EEPROM_VER);
#endif
+28 -43
View File
@@ -182,12 +182,6 @@ void pwrOff()
#endif
}
#if ROTARY_ENCODERS <= 2
#define ROTENC_DOWN() ((~PIND & 0x20) || (~PIND & 0x10))
#else
#define ROTENC_DOWN() (0)
#endif
FORCEINLINE uint8_t keyDown()
{
return ((~PINL) & 0x3F) || ROTENC_DOWN();
@@ -261,59 +255,50 @@ bool switchState(EnumKeys enuk)
return result;
}
static const pm_uchar crossTrim[] PROGMEM = {
1<<INP_J_TRM_LH_DWN,
1<<INP_J_TRM_LH_UP,
1<<INP_J_TRM_LV_DWN,
1<<INP_J_TRM_LV_UP,
1<<INP_J_TRM_RV_DWN,
1<<INP_J_TRM_RV_UP,
1<<INP_J_TRM_RH_DWN,
1<<INP_J_TRM_RH_UP
};
uint8_t trimDown(uint8_t idx)
{
uint8_t in = ~PIND;
return (in & pgm_read_byte(crossTrim+idx));
}
FORCEINLINE void readKeysAndTrims()
{
/* Original keys were connected to PORTB as follows:
Bit Key
7 other use
6 LEFT
5 RIGHT
4 UP
3 DOWN
2 EXIT
1 MENU
0 other use
*/
uint8_t enuk = KEY_MENU;
#if ROTARY_ENCODERS <= 2
keys[BTN_REa].input(~PIND & 0x20, BTN_REa);
#endif
keys[BTN_REb].input(~PIND & 0x10, BTN_REb);
// User buttons ...
uint8_t tin = ~PINL;
uint8_t in;
in = (tin & 0x0f) << 3;
in |= (tin & 0x30) >> 3;
for (int i=1; i<7; i++)
{
//INP_B_KEY_MEN 1 .. INP_B_KEY_LFT 6
keys[enuk].input(in & (1<<i),(EnumKeys)enuk);
for (int i=1; i<7; i++) {
// INP_B_KEY_MEN 1 .. INP_B_KEY_LFT 6
keys[enuk].input(in & (1<<i), (EnumKeys)enuk);
++enuk;
}
// Trim switches ...
static const pm_uchar crossTrim[] PROGMEM ={
1<<INP_J_TRM_LH_DWN,
1<<INP_J_TRM_LH_UP,
1<<INP_J_TRM_LV_DWN,
1<<INP_J_TRM_LV_UP,
1<<INP_J_TRM_RV_DWN,
1<<INP_J_TRM_RV_UP,
1<<INP_J_TRM_RH_DWN,
1<<INP_J_TRM_RH_UP
};
// Trims ...
in = ~PINJ;
for (int i=0; i<8; i++) {
// INP_D_TRM_RH_UP 0 .. INP_D_TRM_LH_UP 7
keys[enuk].input(in & pgm_read_byte(crossTrim+i),(EnumKeys)enuk);
keys[enuk].input(in & pgm_read_byte(crossTrim+i), (EnumKeys)enuk);
++enuk;
}
#if defined(ROTARY_ENCODERS)
keys[BTN_REa].input(REA_DOWN(), BTN_REa);
keys[BTN_REb].input(REB_DOWN(), BTN_REb);
#endif
}
#if ROTARY_ENCODERS <= 2
+59 -49
View File
@@ -100,63 +100,63 @@ void sdPoll10ms();
#define IS_BACKLIGHT_ON() (PORTC & (1<<OUT_C_LIGHT))
# define INP_L_SPARE6 7
# define INP_L_SPARE5 6
# define INP_L_KEY_EXT 5
# define INP_L_KEY_MEN 4
# define INP_L_KEY_LFT 3
# define INP_L_KEY_RGT 2
# define INP_L_KEY_UP 1
# define INP_L_KEY_DWN 0
#define INP_L_SPARE6 7
#define INP_L_SPARE5 6
#define INP_L_KEY_EXT 5
#define INP_L_KEY_MEN 4
#define INP_L_KEY_LFT 3
#define INP_L_KEY_RGT 2
#define INP_L_KEY_UP 1
#define INP_L_KEY_DWN 0
# define INP_J_TRM_RH_UP 7
# define INP_J_TRM_RH_DWN 6
# define INP_J_TRM_RV_UP 5
# define INP_J_TRM_RV_DWN 4
# define INP_J_TRM_LV_UP 3
# define INP_J_TRM_LV_DWN 2
# define INP_J_TRM_LH_UP 1
# define INP_J_TRM_LH_DWN 0
#define INP_J_TRM_RH_UP 7
#define INP_J_TRM_RH_DWN 6
#define INP_J_TRM_RV_UP 5
#define INP_J_TRM_RV_DWN 4
#define INP_J_TRM_LV_UP 3
#define INP_J_TRM_LV_DWN 2
#define INP_J_TRM_LH_UP 1
#define INP_J_TRM_LH_DWN 0
# define INP_E_PPM_IN 7
# define INP_E_ROT_ENC_1_B 6
# define INP_E_ROT_ENC_1_A 5
# define INP_E_USB_D_PLS 4
# define OUT_E_BUZZER 3
# define INP_E_USB_D_NEG 2
# define INP_E_TELEM_RX 1
# define OUT_E_TELEM_TX 0
#define INP_E_PPM_IN 7
#define INP_E_ROT_ENC_1_B 6
#define INP_E_ROT_ENC_1_A 5
#define INP_E_USB_D_PLS 4
#define OUT_E_BUZZER 3
#define INP_E_USB_D_NEG 2
#define INP_E_TELEM_RX 1
#define OUT_E_TELEM_TX 0
# define OUT_D_HAPTIC 7
# define INP_D_SPARE4 6
# define INP_D_ROT_ENC_2_PUSH 5
# define INP_D_ROT_ENC_1_PUSH 4
# define OUT_D_ROT_ENC_2_B 3
# define INP_D_ROT_ENC_2_A 2
# define INP_D_I2C_SCL 1
# define INP_D_I2C_SDA 0
#define OUT_D_HAPTIC 7
#define INP_D_SPARE4 6
#define INP_D_ROT_ENC_2_PUSH 5
#define INP_D_ROT_ENC_1_PUSH 4
#define OUT_D_ROT_ENC_2_B 3
#define INP_D_ROT_ENC_2_A 2
#define INP_D_I2C_SCL 1
#define INP_D_I2C_SDA 0
# define INP_G_Gear 5
# define INP_G_ThrCt 2
# define OUT_G_SIM_CTL 4 //1 : phone-jack=ppm_in
# define INP_G_ID1 3
# define INP_G_RF_POW 1
# define INP_G_RuddDR 0
#define INP_G_Gear 5
#define INP_G_ThrCt 2
#define OUT_G_SIM_CTL 4 //1 : phone-jack=ppm_in
#define INP_G_ID1 3
#define INP_G_RF_POW 1
#define INP_G_RuddDR 0
# define INP_C_AileDR 7
# define INP_C_ElevDR 6
# define OUT_C_LIGHT 0
#define INP_C_AileDR 7
#define INP_C_ElevDR 6
#define OUT_C_LIGHT 0
# define OUT_B_Speaker 7
# define OUT_B_PPM 6 // will be switched by TCNT1==OCR1B in hardware
# define INP_B_Trainer 5
# define INP_B_ID2 4
#define OUT_B_Speaker 7
#define OUT_B_PPM 6 // will be switched by TCNT1==OCR1B in hardware
#define INP_B_Trainer 5
#define INP_B_ID2 4
#if defined(VOICE)
# define OUT_H_14DRESET 3
# define OUT_H_14DCLK 4
# define OUT_H_14DDATA 5
# define INP_H_14DBUSY 6
#define OUT_H_14DRESET 3
#define OUT_H_14DCLK 4
#define OUT_H_14DDATA 5
#define INP_H_14DBUSY 6
#endif
// Keys driver
@@ -187,4 +187,14 @@ void pwrOff();
// Haptic driver
#define hapticOff() // TODO hapticOn() cleaner ...
// Rotary encoder driver
#if ROTARY_ENCODERS <= 2
#define REA_DOWN() (~PIND & 0x20)
#define REB_DOWN() (~PIND & 0x10)
#else
#define REA_DOWN() (0)
#define REB_DOWN() (0)
#endif
#define ROTENC_DOWN() (REA_DOWN() || REB_DOWN())
#endif
+2 -2
View File
@@ -253,9 +253,9 @@ void rotencInit();
void rotencEnd();
#if ROTARY_ENCODERS > 0
#define rotencDown() (!(PIOB->PIO_PDSR & 0x40))
#define REA_DOWN() (!(PIOB->PIO_PDSR & 0x40))
#else
#define rotencDown() 0
#define REA_DOWN() (0)
#endif
// Debug driver
+7 -2
View File
@@ -113,9 +113,14 @@ uint32_t readTrims()
return result;
}
uint8_t trimDown(uint8_t idx)
{
return readTrims() & (1 << idx);
}
uint8_t keyDown()
{
return (~readKeys() & 0x7E) || rotencDown();
return (~readKeys() & 0x7E) || REA_DOWN();
}
void readKeysAndTrims()
@@ -123,7 +128,7 @@ void readKeysAndTrims()
register uint32_t i;
#if ROTARY_ENCODERS > 0
keys[BTN_REa].input(rotencDown(), BTN_REa);
keys[BTN_REa].input(REA_DOWN(), BTN_REa);
#endif
uint8_t enuk = KEY_MENU;
+23 -22
View File
@@ -234,37 +234,38 @@ bool switchState(EnumKeys enuk)
return result;
}
#ifndef SIMU
FORCEINLINE
#endif
void readKeysAndTrims()
// Trim switches ...
static const pm_uchar crossTrim[] PROGMEM ={
1<<INP_D_TRM_LH_DWN, // bit 7
1<<INP_D_TRM_LH_UP,
1<<INP_D_TRM_LV_DWN,
1<<INP_D_TRM_LV_UP,
1<<INP_D_TRM_RV_DWN,
1<<INP_D_TRM_RV_UP,
1<<INP_D_TRM_RH_DWN,
1<<INP_D_TRM_RH_UP // bit 0
};
uint8_t trimDown(uint8_t idx)
{
uint8_t in = ~PIND;
return (in & pgm_read_byte(crossTrim+idx));
}
FORCEINLINE void readKeysAndTrims()
{
uint8_t enuk = KEY_MENU;
// User buttons ...
uint8_t in = ~PINB;
for(int i=1; i<7; i++)
{
//INP_B_KEY_MEN 1 .. INP_B_KEY_LFT 6
keys[enuk].input(in & (1<<i),(EnumKeys)enuk);
for (int i=1; i<7; i++) {
// INP_B_KEY_MEN 1 .. INP_B_KEY_LFT 6
keys[enuk].input(in & (1<<i), (EnumKeys)enuk);
++enuk;
}
// Trim switches ...
static const pm_uchar crossTrim[] PROGMEM ={
1<<INP_D_TRM_LH_DWN, // bit 7
1<<INP_D_TRM_LH_UP,
1<<INP_D_TRM_LV_DWN,
1<<INP_D_TRM_LV_UP,
1<<INP_D_TRM_RV_DWN,
1<<INP_D_TRM_RV_UP,
1<<INP_D_TRM_RH_DWN,
1<<INP_D_TRM_RH_UP // bit 0
};
// Trims ...
in = ~PIND;
for (int i=0; i<8; i++) {
// INP_D_TRM_RH_UP 0 .. INP_D_TRM_LH_UP 7
keys[enuk].input(in & pgm_read_byte(crossTrim+i), (EnumKeys)enuk);
@@ -92,6 +92,11 @@ uint32_t readTrims()
return result;
}
uint8_t trimDown(uint8_t idx)
{
return readTrims() & (1 << idx);
}
uint8_t keyDown()
{
return ~readKeys() & 0x7E ;
+4 -4
View File
@@ -146,7 +146,7 @@ void setCurve(uint8_t c, const pm_int8_t ar[])
void setSwitch(uint8_t idx, uint8_t func, int8_t v1, int8_t v2)
{
CustomSwData *cs = cswAddress(idx-1);
LogicalSwitchData *cs = cswAddress(idx-1);
cs->func = func;
cs->v1 = v1;
cs->v2 = v2;
@@ -198,8 +198,8 @@ void applyTemplate(uint8_t idx)
md=setDest(13, MIXSRC_CH14); // md->weight= 100; done by setDest anyway
md=setDest(13, MIXSRC_MAX); mixSetWeight(md, -100); md->swtch=SWSRC_SWB; md->mltpx=MLTPX_REP;
md=setDest(13, MIXSRC_MAX); /* md->weight= 100;*/ md->swtch=SWSRC_THR; md->mltpx=MLTPX_REP;
setSwitch(11, CS_VNEG, STK_THR, -99);
setSwitch(12, CS_VPOS, MIXSRC_CH14, 0);
setSwitch(11, LS_FUNC_VNEG, STK_THR, -99);
setSwitch(12, LS_FUNC_VPOS, MIXSRC_CH14, 0);
break;
// V-Tail
@@ -283,7 +283,7 @@ void applyTemplate(uint8_t idx)
// Servo Test
case TMPL_SERVO_TEST:
md=setDest(NUM_CHNOUT-1, MIXSRC_SW1, true); md->weight=110; md->mltpx=MLTPX_ADD; md->delayUp = 6; md->delayDown = 6; md->speedUp = 8; md->speedDown = 8;
setSwitch(1, CS_VNEG, MIXSRC_LAST_CH, 0);
setSwitch(1, LS_FUNC_VNEG, MIXSRC_LAST_CH, 0);
break;
default:
+1 -3
View File
@@ -245,9 +245,7 @@ const pm_char STR_RXBATT[] PROGMEM = TR_RXBATT;
const pm_char STR_TX[] PROGMEM = TR_TXnRX;
const pm_char STR_ACCEL[] PROGMEM = TR_ACCEL;
const pm_char STR_NODATA[] PROGMEM = TR_NODATA;
const pm_char STR_TM1TM2[] PROGMEM = TR_TM1TM2;
const pm_char STR_THRTHP[] PROGMEM = TR_THRTHP;
const pm_char STR_TOT[] PROGMEM = TR_TOT;
const pm_char STR_TOTTM1TM2THRTHP[] PROGMEM = TR_TOTTM1TM2THRTHP;
const pm_char STR_TMR1LATMAXUS[] PROGMEM = TR_TMR1LATMAXUS;
const pm_char STR_TMR1LATMINUS[] PROGMEM = TR_TMR1LATMINUS;
const pm_char STR_TMR1JITTERUS[] PROGMEM = TR_TMR1JITTERUS;
+1 -3
View File
@@ -399,9 +399,7 @@ extern const pm_char STR_TX[];
#define STR_RX (STR_TX+OFS_RX)
extern const pm_char STR_ACCEL[];
extern const pm_char STR_NODATA[];
extern const pm_char STR_TM1TM2[];
extern const pm_char STR_THRTHP[];
extern const pm_char STR_TOT[];
extern const pm_char STR_TOTTM1TM2THRTHP[];
extern const pm_char STR_TMR1LATMAXUS[];
extern const pm_char STR_TMR1LATMINUS[];
extern const pm_char STR_TMR1JITTERUS[];
+50 -33
View File
@@ -35,7 +35,7 @@
*/
/* Formatting octal codes available in TR_ strings:
* \037\x -sets LCD x-coord (x value in octal)
* \036 -newline (ARM boards only)
* \036 -newline
* \001 to \035 -extended spacing (value * FW/2)
* \0 -ends actual string
*/
@@ -150,8 +150,25 @@
#define LEN_VMIXTRIMS "\004"
#define TR_VMIXTRIMS "VYP\0""ZAP\0""Směr""Výšk""Plyn""Křid"
#if defined(PCBTARANIS)
#define TR_CSWTIMER "Timer"
#define TR_CSWSTICKY "Stcky"
#define TR_CSWRANGE "Range"
#define TR_CSWSTAY "Edge\0"
#else
#define TR_CSWTIMER "Tim\0 "
#define TR_CSWSTICKY "Glue\0"
#if defined(CPUARM)
#define TR_CSWRANGE "Rnge\0"
#define TR_CSWSTAY "Edge\0"
#else
#define TR_CSWRANGE
#define TR_CSWSTAY
#endif
#endif
#define LEN_VCSWFUNC "\005"
#define TR_VCSWFUNC "---\0 ""a{x\0 ""a>x\0 ""a<x\0 ""|a|>x""|a|<x""AND\0 ""OR\0 ""XOR\0 ""a=b\0 ""a>b\0 ""a<b\0 ""d}x\0 ""|d|}x""TIM\0"
#define TR_VCSWFUNC "---\0 ""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 ""d}x\0 ""|d|}x" TR_CSWTIMER TR_CSWSTICKY
#define LEN_VFSWFUNC "\013"
@@ -167,9 +184,7 @@
#define TR_SOUND "Pípnout\0 "
#endif
#if defined(PCBTARANIS)
#define TR_HAPTIC
#elif defined(HAPTIC)
#if defined(HAPTIC)
#define TR_HAPTIC "Vibrovat\0 "
#else
#define TR_HAPTIC "[Vibrovat]\0"
@@ -189,7 +204,6 @@
#define TR_PLAY_VALUE "[\221\222TTS]\0 "
#endif
#define TR_CFN_VOLUME "Hlasitost\0 "
#define TR_CFN_BG_MUSIC "BgHudba\0 ""BgHudba ||\0"
#if defined(SDCARD)
@@ -199,9 +213,9 @@
#endif
#ifdef GVARS
#define TR_CFN_ADJUST_GVAR "Nastav \0 "
#define TR_ADJUST_GVAR "Nastav \0 "
#else
#define TR_CFN_ADJUST_GVAR
#define TR_ADJUST_GVAR "[AdjustGV]\0"
#endif
#ifdef DEBUG
@@ -211,11 +225,11 @@
#endif
#if defined(CPUARM)
#define TR_VFSWFUNC "Zámek \0 ""Trenér \0 ""Insta-Trim\0" TR_SOUND TR_HAPTIC "Reset\0 " TR_VVARIO TR_PLAY_TRACK TR_PLAY_VALUE TR_SDCLOGS TR_CFN_VOLUME "Podsvětlení" TR_CFN_BG_MUSIC TR_CFN_ADJUST_GVAR TR_CFN_TEST
#define TR_VFSWFUNC "Zámek \0 ""Trenér \0 ""Insta-Trim\0""Reset\0 " TR_ADJUST_GVAR "Hlasitost\0 " TR_SOUND TR_PLAY_TRACK TR_PLAY_VALUE TR_CFN_BG_MUSIC TR_VVARIO TR_HAPTIC TR_SDCLOGS "Podsvětlení" TR_CFN_TEST
#elif defined(PCBGRUVIN9X)
#define TR_VFSWFUNC "Zámek \0 ""Trenér \0 ""Insta-Trim\0" TR_SOUND TR_HAPTIC "Reset\0 " TR_VVARIO TR_PLAY_TRACK TR_PLAY_BOTH TR_PLAY_VALUE TR_SDCLOGS "Podsvětlení" TR_CFN_ADJUST_GVAR TR_CFN_TEST
#define TR_VFSWFUNC "Zámek \0 ""Trenér \0 ""Insta-Trim\0""Reset\0 " TR_ADJUST_GVAR TR_SOUND TR_PLAY_TRACK TR_PLAY_BOTH TR_PLAY_VALUE TR_VVARIO TR_HAPTIC TR_SDCLOGS "Podsvětlení" TR_CFN_TEST
#else
#define TR_VFSWFUNC "Zámek \0 ""Trenér \0 ""Insta-Trim\0" TR_SOUND TR_HAPTIC "Reset\0 " TR_VVARIO TR_PLAY_TRACK TR_PLAY_BOTH TR_PLAY_VALUE "Podsvětlení" TR_CFN_ADJUST_GVAR TR_CFN_TEST
#define TR_VFSWFUNC "Zámek \0 ""Trenér \0 ""Insta-Trim\0""Reset\0 " TR_ADJUST_GVAR TR_SOUND TR_PLAY_TRACK TR_PLAY_BOTH TR_PLAY_VALUE TR_VVARIO TR_HAPTIC "Podsvětlení" TR_CFN_TEST
#endif
#define LEN_VFSWRESET TR("\004", "\011")
@@ -304,7 +318,7 @@
#define TR_VSWASHTYPE "--- ""120 ""120X""140 ""90\0"
#define LEN_VKEYS "\005"
#define TR_VKEYS TR(" Menu"" Exit"" Dolů""Nhoru""Vprvo""Vlevo", " Menu"" Exit""Enter"" Page"" Plus""Mínus")
#define TR_VKEYS TR("Menu\0""Exit\0""Dolů\0""Nhoru""Vprvo""Vlevo", "Menu\0""Exit\0""Enter""Page\0""Plus\0""Mínus")
#define LEN_VRENCODERS "\003"
#define TR_VRENCODERS "REa""REb"
@@ -333,21 +347,26 @@
#define TR_CUSTOMSW "VS1""VS2""VS3""VS4""VS5""VS6""VS7""VS8""VS9""VSA""VSB""VSC"
#endif
#if defined(PCBTARANIS)
#define TR_6POS_POTS "P11""P12""P13""P14""P15""P16""P21""P22""P23""P24""P25""P26"
#define TR_VSWITCHES "SA\300""SA-""SA\301""SB\300""SB-""SB\301""SC\300""SC-""SC\301""SD\300""SD-""SD\301""SE\300""SE-""SE\301""SF\300""SF\301""SG\300""SG-""SG\301""SH\300""SH\301" TR_CUSTOMSW TR_6POS_POTS "*1 "
#else
#define TR_VSWITCHES TR_9X_3POS_SWITCHES "THR""RUD""ELE""AIL""GEA""TRN" TR_CUSTOMSW "*1 "
#endif
#define TR_TRIMS_SWITCHES "tRl""tRr""tEd""tEu""tTd""tTu""tAl""tAr"
#if defined(PCBSKY9X)
#define TR_ROTARY_ENCODERS_VSRCRAW "REnc"
#elif defined(PCBGRUVIN9X) && ROTARY_ENCODERS > 2
#define TR_ROTARY_ENCODERS_VSRCRAW "REa ""REb ""REc ""REd "
#elif defined(PCBGRUVIN9X) && ROTARY_ENCODERS <= 2
#define TR_ROTARY_ENCODERS_VSRCRAW "REa ""REb "
#define TR_ROTARY_ENCODERS "REa\0"
#define TR_ROTENC_SWITCHES "REa"
#elif defined(PCBGRUVIN9X) || defined(PCBMEGA2560)
#define TR_ROTARY_ENCODERS "REa\0""REb\0"
#define TR_ROTENC_SWITCHES "REa""REb"
#else
#define TR_ROTARY_ENCODERS_VSRCRAW
#define TR_ROTARY_ENCODERS
#define TR_ROTENC_SWITCHES
#endif
#if defined(PCBTARANIS)
#define TR_6POS_POTS "P11""P12""P13""P14""P15""P16""P21""P22""P23""P24""P25""P26"
#define TR_VSWITCHES "SA\300""SA-""SA\301""SB\300""SB-""SB\301""SC\300""SC-""SC\301""SD\300""SD-""SD\301""SE\300""SE-""SE\301""SF\300""SF\301""SG\300""SG-""SG\301""SH\300""SH\301" TR_6POS_POTS TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_CUSTOMSW
#elif defined(CPUARM)
#define TR_VSWITCHES TR_9X_3POS_SWITCHES "THR""RUD""ELE""AIL""GEA""TRN" TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_CUSTOMSW
#else
#define TR_VSWITCHES TR_9X_3POS_SWITCHES "THR""RUD""ELE""AIL""GEA""TRN" TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_CUSTOMSW
#endif
#if defined(HELI)
@@ -356,7 +375,7 @@
#define TR_CYC_VSRCRAW "[C1]""[C2]""[C3]"
#endif
#define TR_VSRCRAW "---\0""Směr""Výšk""Plyn""Křid" TR_POTS_VSRCRAW TR_ROTARY_ENCODERS_VSRCRAW "MAX\0" TR_CYC_VSRCRAW "TrmS" "TrmV" "TrmP" "TrmK" TR_SW_VSRCRAW
#define TR_VSRCRAW "---\0""Směr""Výšk""Plyn""Křid" TR_POTS_VSRCRAW TR_ROTARY_ENCODERS "MAX\0" TR_CYC_VSRCRAW "TrmS" "TrmV" "TrmP" "TrmK" TR_SW_VSRCRAW
#define LEN_VTMRMODES "\003"
#define TR_VTMRMODES "VYP""ABS""THs""TH%""THt"
@@ -495,17 +514,15 @@
#define TR_CAL "Kal."
#define TR_VTRIM "Trim- +"
#define TR_BG "BG:"
#define TR_MENUTOSTART CENTER "\007" TR_ENTER " = START"
#define TR_SETMIDPOINT TR(CENTER "\001Nastav páky na střed", CENTER "\002Nastav páky na střed")
#define TR_MOVESTICKSPOTS TR(CENTER "\004Hýbej pákami/poty", "\007Hýbej pákami i potenciometry")
#define TR_MENUTOSTART CENTER "\010" TR_ENTER " = START"
#define TR_SETMIDPOINT TR(CENTER "\003Nastav páky na střed", CENTER "\004Nastav páky na střed")
#define TR_MOVESTICKSPOTS TR(CENTER "\005Hýbej pákami/poty", "\010Hýbej pákami i potenciometry")
#define TR_RXBATT "Rx Bat.:"
#define TR_TXnRX "Tx:\0Rx:"
#define OFS_RX 4
#define TR_ACCEL "Acc:"
#define TR_NODATA CENTER "NO DATA"
#define TR_TM1TM2 "TM1\037\146TM2"
#define TR_THRTHP "THR\037\146TH%"
#define TR_TOT "TOT"
#define TR_TOTTM1TM2THRTHP "\037\146TOT\036TM1\037\146TM2\036THR\037\146TH%"
#define TR_TMR1LATMAXUS "Tmr1Lat max\037\124us"
#define STR_US (STR_TMR1LATMAXUS+13)
#define TR_TMR1LATMINUS "Tmr1Lat min\037\124us"
@@ -717,7 +734,7 @@
// Taranis column headers
#define TR_PHASES_HEADERS { " Jméno ", " Spínač ", " Trimy ", " Přechod Zap ", " Přechod Vyp " }
#define TR_LIMITS_HEADERS { " Jméno ", " Subtrim ", " Min ", " Max ", " Směr ", " Křivka ", " Střed PPM ", " Symetrické " }
#define TR_CSW_HEADERS { " Funkce ", " Hodnota 1 ", " Hodnota 2 ", " AND Spínač ", " Trvání ", " Zpoždění " }
#define TR_CSW_HEADERS { " Funkce ", " Hodnota 1 ", " Hodnota 2 ", " Hodnota 2 ", " AND Spínač ", " Trvání ", " Zpoždění " }
//Taranis About screen
#define TR_ABOUTUS TR(" O nás ", "O nás")
@@ -770,7 +787,7 @@
#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_INPUT 'I' // Values between A-I will work
#define TR_BEEP_VOLUME "Pípání"
#define TR_WAV_VOLUME "Zvuky WAV"
+51 -34
View File
@@ -35,7 +35,7 @@
*/
/* Formatting octal codes available in TR_ strings:
* \037\x -sets LCD x-coord (x value in octal)
* \036 -newline (ARM boards only)
* \036 -newline
* \001 to \035 -extended spacing (value * FW/2)
* \0 -ends actual string
*/
@@ -150,8 +150,25 @@
#define LEN_VMIXTRIMS "\003"
#define TR_VMIXTRIMS "AUS""EIN""Sei""H\203e""Gas""Que" //Mixer Trim Werte
#if defined(PCBTARANIS)
#define TR_CSWTIMER "Timer"
#define TR_CSWSTICKY "Stcky"
#define TR_CSWRANGE "Range"
#define TR_CSWSTAY "Edge\0"
#else
#define TR_CSWTIMER "Tim\0 "
#define TR_CSWSTICKY "Glue\0"
#if defined(CPUARM)
#define TR_CSWRANGE "Rnge\0"
#define TR_CSWSTAY "Edge\0"
#else
#define TR_CSWRANGE
#define TR_CSWSTAY
#endif
#endif
#define LEN_VCSWFUNC "\005"
#define TR_VCSWFUNC "---\0 ""a{x\0 ""a>x\0 ""a<x\0 ""|a|>x""|a|<x""AND\0 ""OR\0 ""XOR\0 ""a=b\0 ""a>b\0 ""a<b\0 ""d}x\0 ""|d|}x""TIM\0"
#define TR_VCSWFUNC "---\0 ""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 ""d}x\0 ""|d|}x" TR_CSWTIMER TR_CSWSTICKY
#define LEN_VFSWFUNC "\012"
@@ -167,9 +184,7 @@
#define TR_SOUND "Spiel\0 "
#endif
#if defined(PCBTARANIS)
#define TR_HAPTIC
#elif defined(HAPTIC)
#if defined(HAPTIC)
#define TR_HAPTIC "Haptic\0 "
#else
#define TR_HAPTIC "[Haptic]\0 "
@@ -189,7 +204,6 @@
#define TR_PLAY_VALUE "[Sag Wert]"
#endif
#define TR_CFN_VOLUME "Lautst\201rke"
#define TR_CFN_BG_MUSIC "MusikStart""MusikPause"
#if defined(SDCARD)
@@ -199,9 +213,9 @@
#endif
#ifdef GVARS
#define TR_CFN_ADJUST_GVAR "\200ndere \0 "
#define TR_ADJUST_GVAR "\200ndere \0 "
#else
#define TR_CFN_ADJUST_GVAR
#define TR_ADJUST_GVAR "[AdjustGV]"
#endif
#ifdef DEBUG
@@ -211,11 +225,11 @@
#endif
#if defined(CPUARM)
#define TR_VFSWFUNC "Sicher\0 ""Lehrer \0 ""Inst. Trim" TR_SOUND TR_HAPTIC "R\205cksetz.\0" TR_VVARIO TR_PLAY_TRACK TR_PLAY_VALUE TR_SDCLOGS TR_CFN_VOLUME "LCD Licht\0" TR_CFN_BG_MUSIC TR_CFN_ADJUST_GVAR TR_CFN_TEST
#define TR_VFSWFUNC "Sicher\0 ""Lehrer \0 ""Inst. Trim""R\205cksetz.\0" TR_ADJUST_GVAR "Lautst\201rke" TR_SOUND TR_PLAY_TRACK TR_PLAY_VALUE TR_CFN_BG_MUSIC TR_VVARIO TR_HAPTIC TR_SDCLOGS "LCD Licht\0" TR_CFN_TEST
#elif defined(PCBGRUVIN9X)
#define TR_VFSWFUNC "Sicher\0 ""Lehrer \0 ""Inst. Trim" TR_SOUND TR_HAPTIC "R\205cksetz.\0" TR_VVARIO TR_PLAY_TRACK TR_PLAY_BOTH TR_PLAY_VALUE TR_SDCLOGS "LCD Licht\0" TR_CFN_ADJUST_GVAR TR_CFN_TEST
#define TR_VFSWFUNC "Sicher\0 ""Lehrer \0 ""Inst. Trim""R\205cksetz.\0" TR_ADJUST_GVAR TR_SOUND TR_PLAY_TRACK TR_PLAY_BOTH TR_PLAY_VALUE TR_VVARIO TR_HAPTIC TR_SDCLOGS "LCD Licht\0" TR_CFN_TEST
#else
#define TR_VFSWFUNC "Sicher\0 ""Lehrer \0 ""Inst. Trim" TR_SOUND TR_HAPTIC "R\205cksetz.\0" TR_VVARIO TR_PLAY_TRACK TR_PLAY_BOTH TR_PLAY_VALUE "LCD Licht\0" TR_CFN_ADJUST_GVAR TR_CFN_TEST
#define TR_VFSWFUNC "Sicher\0 ""Lehrer \0 ""Inst. Trim""R\205cksetz.\0" TR_ADJUST_GVAR TR_SOUND TR_PLAY_TRACK TR_PLAY_BOTH TR_PLAY_VALUE TR_VVARIO TR_HAPTIC "LCD Licht\0" TR_CFN_TEST
#endif
#define LEN_VFSWRESET TR("\004", "\011")
@@ -304,7 +318,7 @@
#define TR_VSWASHTYPE "--- ""120 ""120X""140 ""90\0"
#define LEN_VKEYS "\005"
#define TR_VKEYS TR(" Menu"" Exit"" Down"" Up""Right"" Left", " Menu"" Exit""Enter"" Page"" Plus""Minus")
#define TR_VKEYS TR("Menu\0""Exit\0""Down\0""Up\0 ""Right""Left\0", "Menu\0""Exit\0""Enter""Page\0""Plus\0""Minus")
#define LEN_VRENCODERS "\003"
#define TR_VRENCODERS "DGa""DGb" //Digitalgeber a und b = Drehgeber
@@ -333,21 +347,26 @@
#define TR_CUSTOMSW "PS1""PS2""PS3""PS4""PS5""PS6""PS7""PS8""PS9""PSA""PSB""PSC"
#endif
#if defined(PCBTARANIS)
#define TR_6POS_POTS "P11""P12""P13""P14""P15""P16""P21""P22""P23""P24""P25""P26"
#define TR_VSWITCHES "SA\300""SA-""SA\301""SB\300""SB-""SB\301""SC\300""SC-""SC\301""SD\300""SD-""SD\301""SE\300""SE-""SE\301""SF\300""SF\301""SG\300""SG-""SG\301""SH\300""SH\301" TR_CUSTOMSW TR_6POS_POTS "ONE"
#else
#define TR_VSWITCHES TR_9X_3POS_SWITCHES "THR""RUD""ELE""AIL""GEA""TRN" TR_CUSTOMSW "ONE"
#endif
#define TR_TRIMS_SWITCHES "tRl""tRr""tEd""tEu""tTd""tTu""tAl""tAr"
#if defined(PCBSKY9X)
#define TR_ROTARY_ENCODERS_VSRCRAW "Dreh"
#elif defined(PCBGRUVIN9X) && ROTARY_ENCODERS > 2
#define TR_ROTARY_ENCODERS_VSRCRAW "DGa ""DGb ""DGc ""DGd "
#elif defined(PCBGRUVIN9X) && ROTARY_ENCODERS <= 2
#define TR_ROTARY_ENCODERS_VSRCRAW "DGa ""DGb "
#define TR_ROTARY_ENCODERS "DGa\0"
#define TR_ROTENC_SWITCHES "DGa"
#elif defined(PCBGRUVIN9X) || defined(PCBMEGA2560)
#define TR_ROTARY_ENCODERS "DGa\0""DGb\0"
#define TR_ROTENC_SWITCHES "DGa""DGb"
#else
#define TR_ROTARY_ENCODERS_VSRCRAW
#define TR_ROTARY_ENCODERS
#define TR_ROTENC_SWITCHES
#endif
#if defined(PCBTARANIS)
#define TR_6POS_POTS "P11""P12""P13""P14""P15""P16""P21""P22""P23""P24""P25""P26"
#define TR_VSWITCHES "SA\300""SA-""SA\301""SB\300""SB-""SB\301""SC\300""SC-""SC\301""SD\300""SD-""SD\301""SE\300""SE-""SE\301""SF\300""SF\301""SG\300""SG-""SG\301""SH\300""SH\301" TR_6POS_POTS TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_CUSTOMSW
#elif defined(CPUARM)
#define TR_VSWITCHES TR_9X_3POS_SWITCHES "THR""RUD""ELE""AIL""GEA""TRN" TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_CUSTOMSW
#else
#define TR_VSWITCHES TR_9X_3POS_SWITCHES "THR""RUD""ELE""AIL""GEA""TRN" TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_CUSTOMSW
#endif
#if defined(HELI)
@@ -356,7 +375,7 @@
#define TR_CYC_VSRCRAW "[C1]""[C2]""[C3]"
#endif
#define TR_VSRCRAW "---\0""Sei\0""H\203h\0""Gas\0""Que\0" TR_POTS_VSRCRAW TR_ROTARY_ENCODERS_VSRCRAW "MAX\0" TR_CYC_VSRCRAW "TrmS" "TrmH" "TrmG" "TrmQ" TR_SW_VSRCRAW
#define TR_VSRCRAW "---\0""Sei\0""H\203h\0""Gas\0""Que\0" TR_POTS_VSRCRAW TR_ROTARY_ENCODERS "MAX\0" TR_CYC_VSRCRAW "TrmS" "TrmH" "TrmG" "TrmQ" TR_SW_VSRCRAW
#define LEN_VTMRMODES "\003"
#define TR_VTMRMODES "AUS""ABS""GSs""GS%""GSt"
@@ -390,7 +409,7 @@
#define TR_POPUPS TR_ENTER"\010[EXIT]"
#define OFS_EXIT sizeof(TR_ENTER)
#define TR_MENUWHENDONE CENTER"\006"TR_ENTER" > Weiter"
#define TR_MENUWHENDONE CENTER"\010"TR_ENTER" > Weiter"
#define TR_FREE "frei"
#define TR_DELETEMODEL "Modell l\203schen?"
#define TR_COPYINGMODEL "Kopiere Modell"
@@ -495,17 +514,15 @@
#define TR_CAL "Kal."
#define TR_VTRIM "Trim- +"
#define TR_BG "BG:"
#define TR_MENUTOSTART CENTER"\006"TR_ENTER" zum Start"
#define TR_SETMIDPOINT CENTER"Sticks+Potis auf Mitte"
#define TR_MOVESTICKSPOTS CENTER"Sticks+Potis bewegen"
#define TR_MENUTOSTART CENTER"\007"TR_ENTER" zum Start"
#define TR_SETMIDPOINT CENTER"\002Sticks+Potis auf Mitte"
#define TR_MOVESTICKSPOTS CENTER"\003Sticks+Potis bewegen"
#define TR_RXBATT "Rx Batt:"
#define TR_TXnRX "Tx:\0Rx:"
#define OFS_RX 4
#define TR_ACCEL "Acc:"
#define TR_NODATA CENTER"NO DATA"
#define TR_TM1TM2 "TM1\037\146TM2"
#define TR_THRTHP "THR\037\146TH%"
#define TR_TOT "TOT"
#define TR_TOTTM1TM2THRTHP "\037\146TOT\036TM1\037\146TM2\036THR\037\146TH%"
#define TR_TMR1LATMAXUS "Tmr1Lat max\037\124us"
#define STR_US (STR_TMR1LATMAXUS+13)
#define TR_TMR1LATMINUS "Tmr1Lat min\037\124us"
@@ -717,7 +734,7 @@
// Taranis column headers
#define TR_PHASES_HEADERS { " Name ", " Schalter ", " Trimmung ", " Fade In ", " Fade Out " }
#define TR_LIMITS_HEADERS { " Name ", " Subtrim ", " Min ", " Max ", " Richtung ", " Kurve ", " PPM Mitte ", " Subtrim Mode " }
#define TR_CSW_HEADERS { " Funktion ", " Var1 ", " Var2 ", " UND Schalter ", " Dauer ", " Delay " }
#define TR_CSW_HEADERS { " Funktion ", " Var1 ", " Var2 ", " Var2 ", " UND Schalter ", " Dauer ", " Delay " }
//Taranis About screen
#define TR_ABOUTUS "Über OpenTx"
@@ -770,7 +787,7 @@
#define TR_CHR_LONG 'l' //Taste long
#define TR_CHR_TOGGLE 't' //Taste als togglefunktion = Ein Aus Ein
#define TR_CHR_HOUR 'h' //Stunden
#define TR_CHR_INPUT 'I' // Values between A-I will work
#define TR_CHR_INPUT 'I' // Values between A-I will work
#define TR_BEEP_VOLUME "Beep Lautst"
#define TR_WAV_VOLUME "Wav Lautst"
+60 -43
View File
@@ -35,7 +35,7 @@
*/
/* Formatting octal codes available in TR_ strings:
* \037\x -sets LCD x-coord (x value in octal)
* \036 -newline (ARM boards only)
* \036 -newline
* \001 to \035 -extended spacing (value * FW/2)
* \0 -ends actual string
*/
@@ -150,8 +150,25 @@
#define LEN_VMIXTRIMS "\003"
#define TR_VMIXTRIMS "OFF""ON\0""Rud""Ele""Thr""Ail"
#if defined(PCBTARANIS)
#define TR_CSWTIMER "Timer"
#define TR_CSWSTICKY "Stcky"
#define TR_CSWRANGE "Range"
#define TR_CSWSTAY "Edge\0"
#else
#define TR_CSWTIMER "Tim\0 "
#define TR_CSWSTICKY "Glue\0"
#if defined(CPUARM)
#define TR_CSWRANGE "Rnge\0"
#define TR_CSWSTAY "Edge\0"
#else
#define TR_CSWRANGE
#define TR_CSWSTAY
#endif
#endif
#define LEN_VCSWFUNC "\005"
#define TR_VCSWFUNC "---\0 ""a{x\0 ""a>x\0 ""a<x\0 ""|a|>x""|a|<x""AND\0 ""OR\0 ""XOR\0 ""a=b\0 ""a>b\0 ""a<b\0 ""d}x\0 ""|d|}x""TIM\0"
#define TR_VCSWFUNC "---\0 ""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 ""d}x\0 ""|d|}x" TR_CSWTIMER TR_CSWSTICKY
#define LEN_VFSWFUNC "\012"
@@ -167,9 +184,7 @@
#define TR_SOUND "Beep\0 "
#endif
#if defined(PCBTARANIS)
#define TR_HAPTIC
#elif defined(HAPTIC)
#if defined(HAPTIC)
#define TR_HAPTIC "Haptic\0 "
#else
#define TR_HAPTIC "[Haptic]\0 "
@@ -189,7 +204,6 @@
#define TR_PLAY_VALUE "[Play Val]"
#endif
#define TR_CFN_VOLUME "Volume\0 "
#define TR_CFN_BG_MUSIC "BgMusic\0 ""BgMusic ||"
#if defined(SDCARD)
@@ -198,10 +212,10 @@
#define TR_SDCLOGS "[SD Logs]\0"
#endif
#ifdef GVARS
#define TR_CFN_ADJUST_GVAR "Adjust \0 "
#if defined(GVARS)
#define TR_ADJUST_GVAR "Adjust \0 "
#else
#define TR_CFN_ADJUST_GVAR
#define TR_ADJUST_GVAR "[AdjustGV]"
#endif
#ifdef DEBUG
@@ -211,11 +225,11 @@
#endif
#if defined(CPUARM)
#define TR_VFSWFUNC "Safety\0 ""Trainer\0 ""Inst. Trim" TR_SOUND TR_HAPTIC "Reset\0 " TR_VVARIO TR_PLAY_TRACK TR_PLAY_VALUE TR_SDCLOGS TR_CFN_VOLUME "Backlight\0" TR_CFN_BG_MUSIC TR_CFN_ADJUST_GVAR TR_CFN_TEST
#define TR_VFSWFUNC "Safety\0 ""Trainer\0 ""Inst. Trim""Reset\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 "Backlight\0" TR_CFN_TEST
#elif defined(PCBGRUVIN9X)
#define TR_VFSWFUNC "Safety\0 ""Trainer\0 ""Inst. Trim" TR_SOUND TR_HAPTIC "Reset\0 " TR_VVARIO TR_PLAY_TRACK TR_PLAY_BOTH TR_PLAY_VALUE TR_SDCLOGS "Backlight\0" TR_CFN_ADJUST_GVAR TR_CFN_TEST
#define TR_VFSWFUNC "Safety\0 ""Trainer\0 ""Inst. Trim""Reset\0 " TR_ADJUST_GVAR TR_SOUND TR_PLAY_TRACK TR_PLAY_BOTH TR_PLAY_VALUE TR_VVARIO TR_HAPTIC TR_SDCLOGS "Backlight\0" TR_CFN_TEST
#else
#define TR_VFSWFUNC "Safety\0 ""Trainer\0 ""Inst. Trim" TR_SOUND TR_HAPTIC "Reset\0 " TR_VVARIO TR_PLAY_TRACK TR_PLAY_BOTH TR_PLAY_VALUE "Backlight\0" TR_CFN_ADJUST_GVAR TR_CFN_TEST
#define TR_VFSWFUNC "Safety\0 ""Trainer\0 ""Inst. Trim""Reset\0 " TR_ADJUST_GVAR TR_SOUND TR_PLAY_TRACK TR_PLAY_BOTH TR_PLAY_VALUE TR_VVARIO TR_HAPTIC "Backlight\0" TR_CFN_TEST
#endif
#define LEN_VFSWRESET TR("\004", "\011")
@@ -304,7 +318,7 @@
#define TR_VSWASHTYPE "---\0""120\0""120X""140\0""90\0"
#define LEN_VKEYS "\005"
#define TR_VKEYS TR(" Menu"" Exit"" Down"" Up""Right"" Left", " Menu"" Exit""Enter"" Page"" Plus""Minus")
#define TR_VKEYS TR("Menu\0""Exit\0""Down\0""Up\0 ""Right""Left\0", "Menu\0""Exit\0""Enter""Page\0""Plus\0""Minus")
#define LEN_VRENCODERS "\003"
#define TR_VRENCODERS "REa""REb"
@@ -326,28 +340,33 @@
#endif
#if defined(CPUARM)
#define TR_CUSTOMSW "CS1""CS2""CS3""CS4""CS5""CS6""CS7""CS8""CS9""CSA""CSB""CSC""CSD""CSE""CSF""CSG""CSH""CSI""CSJ""CSK""CSL""CSM""CSN""CSO""CSP""CSQ""CSR""CSS""CST""CSU""CSV""CSW"
#define TR_CUSTOMSW "LS1""LS2""LS3""LS4""LS5""LS6""LS7""LS8""LS9""LSA""LSB""LSC""LSD""LSE""LSF""LSG""LSH""LSI""LSJ""LSK""LSL""LSM""LSN""LSO""LSP""LSQ""LSR""LSS""LST""LSU""LSV""LSW"
#elif defined(PCBGRUVIN9X) || defined(CPUM2561) || defined(CPUM128)
#define TR_CUSTOMSW "CS1""CS2""CS3""CS4""CS5""CS6""CS7""CS8""CS9""CSA""CSB""CSC""CSD""CSE""CSF"
#define TR_CUSTOMSW "LS1""LS2""LS3""LS4""LS5""LS6""LS7""LS8""LS9""LSA""LSB""LSC""LSD""LSE""LSF"
#else
#define TR_CUSTOMSW "CS1""CS2""CS3""CS4""CS5""CS6""CS7""CS8""CS9""CSA""CSB""CSC"
#define TR_CUSTOMSW "LS1""LS2""LS3""LS4""LS5""LS6""LS7""LS8""LS9""LSA""LSB""LSC"
#endif
#define TR_TRIMS_SWITCHES "tRl""tRr""tEd""tEu""tTd""tTu""tAl""tAr"
#if defined(PCBSKY9X)
#define TR_ROTARY_ENCODERS "REa\0"
#define TR_ROTENC_SWITCHES "REa"
#elif defined(PCBGRUVIN9X) || defined(PCBMEGA2560)
#define TR_ROTARY_ENCODERS "REa\0""REb\0"
#define TR_ROTENC_SWITCHES "REa""REb"
#else
#define TR_ROTARY_ENCODERS
#define TR_ROTENC_SWITCHES
#endif
#if defined(PCBTARANIS)
#define TR_6POS_POTS "P11""P12""P13""P14""P15""P16""P21""P22""P23""P24""P25""P26"
#define TR_VSWITCHES "SA\300""SA-""SA\301""SB\300""SB-""SB\301""SC\300""SC-""SC\301""SD\300""SD-""SD\301""SE\300""SE-""SE\301""SF\300""SF\301""SG\300""SG-""SG\301""SH\300""SH\301" TR_CUSTOMSW TR_6POS_POTS "One"
#define TR_VSWITCHES "SA\300""SA-""SA\301""SB\300""SB-""SB\301""SC\300""SC-""SC\301""SD\300""SD-""SD\301""SE\300""SE-""SE\301""SF\300""SF\301""SG\300""SG-""SG\301""SH\300""SH\301" TR_6POS_POTS TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_CUSTOMSW
#elif defined(CPUARM)
#define TR_VSWITCHES TR_9X_3POS_SWITCHES "THR""RUD""ELE""AIL""GEA""TRN" TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_CUSTOMSW
#else
#define TR_VSWITCHES TR_9X_3POS_SWITCHES "THR""RUD""ELE""AIL""GEA""TRN" TR_CUSTOMSW "One"
#endif
#if defined(PCBSKY9X)
#define TR_ROTARY_ENCODERS_VSRCRAW "REnc"
#elif defined(PCBGRUVIN9X) && ROTARY_ENCODERS > 2
#define TR_ROTARY_ENCODERS_VSRCRAW "REa ""REb ""REc ""REd "
#elif defined(PCBGRUVIN9X) && ROTARY_ENCODERS <= 2
#define TR_ROTARY_ENCODERS_VSRCRAW "REa ""REb "
#else
#define TR_ROTARY_ENCODERS_VSRCRAW
#define TR_VSWITCHES TR_9X_3POS_SWITCHES "THR""RUD""ELE""AIL""GEA""TRN" TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_CUSTOMSW
#endif
#if defined(HELI)
@@ -356,7 +375,7 @@
#define TR_CYC_VSRCRAW "[C1]""[C2]""[C3]"
#endif
#define TR_VSRCRAW "---\0""Rud\0""Ele\0""Thr\0""Ail\0" TR_POTS_VSRCRAW TR_ROTARY_ENCODERS_VSRCRAW "MAX\0" TR_CYC_VSRCRAW "TrmR" "TrmE" "TrmT" "TrmA" TR_SW_VSRCRAW
#define TR_VSRCRAW "---\0""Rud\0""Ele\0""Thr\0""Ail\0" TR_POTS_VSRCRAW TR_ROTARY_ENCODERS "MAX\0" TR_CYC_VSRCRAW "TrmR" "TrmE" "TrmT" "TrmA" TR_SW_VSRCRAW
#define LEN_VTMRMODES "\003"
#define TR_VTMRMODES "OFF""ABS""THs""TH%""THt"
@@ -407,13 +426,13 @@
#define TR_EXPONAME "Expo Name"
#endif
#define TR_BITMAP "Model Image"
#define TR_TIMER TR("Timer","Timer ")
#define TR_ELIMITS TR("E.Limits","Extended Limits")
#define TR_ETRIMS TR("E.Trims","Extended Trims")
#define TR_TIMER TR("Timer", "Timer ")
#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_BEEPCTR TR("Ctr Beep","Center Beep")
#define TR_TTRACE TR("T-Source", "Throttle Source")
#define TR_TTRIM TR("T-Trim", "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")
#define TR_MS "ms"
@@ -495,17 +514,15 @@
#define TR_CAL "Cal"
#define TR_VTRIM "Trim- +"
#define TR_BG "BG:"
#define TR_MENUTOSTART CENTER "\006" TR_ENTER " TO START"
#define TR_SETMIDPOINT TR(CENTER "\003SET STICKS MIDPOINT",CENTER "\003CENTER STICKS/SLIDERS")
#define TR_MENUTOSTART CENTER "\010" TR_ENTER " TO START"
#define TR_SETMIDPOINT TR(CENTER "\004SET STICKS MIDPOINT",CENTER "\004CENTER STICKS/SLIDERS")
#define TR_MOVESTICKSPOTS CENTER "\006MOVE STICKS/POTS"
#define TR_RXBATT "Rx Batt:"
#define TR_TXnRX "Tx:\0Rx:"
#define OFS_RX 4
#define TR_ACCEL "Acc:"
#define TR_NODATA CENTER "NO DATA"
#define TR_TM1TM2 "TM1\037\146TM2"
#define TR_THRTHP "THR\037\146TH%"
#define TR_TOT "TOT"
#define TR_TOTTM1TM2THRTHP "\037\146TOT\036TM1\037\146TM2\036THR\037\146TH%"
#define TR_TMR1LATMAXUS "Tmr1Lat max\037\124us"
#define STR_US (STR_TMR1LATMAXUS+13)
#define TR_TMR1LATMINUS "Tmr1Lat min\037\124us"
@@ -715,9 +732,9 @@
#endif
// Taranis column headers
#define TR_PHASES_HEADERS { " Name ", " Switch ", " Trims ", " Fade In ", " Fade Out " }
#define TR_PHASES_HEADERS { " Name ", " Switch ", " Rudder Trim ", " Elevator Trim ", " Throttle Trim ", " Aileron Trim ", " Fade In ", " Fade Out " }
#define TR_LIMITS_HEADERS { " Name ", " Subtrim ", " Min ", " Max ", " Direction ", " Curve ", " PPM Center ", " Subtrim mode " }
#define TR_CSW_HEADERS { " Function ", " V1 ", " V2 ", " AND Switch ", " Duration ", " Delay " }
#define TR_CSW_HEADERS { " Function ", " V1 ", " V2 ", " V2 ", " AND Switch ", " Duration ", " Delay " }
// About screen
#define TR_ABOUTUS TR(" ABOUT ", "ABOUT")
@@ -770,7 +787,7 @@
#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_INPUT 'I' // Values between A-I will work
#define TR_BEEP_VOLUME "Beep Volume"
#define TR_WAV_VOLUME "Wav Volume"
+52 -35
View File
@@ -35,7 +35,7 @@
*/
/* Formatting octal codes available in TR_ strings:
* \037\x -sets LCD x-coord (x value in octal)
* \036 -newline (ARM boards only)
* \036 -newline
* \001 to \035 -extended spacing (value * FW/2)
* \0 -ends actual string
*/
@@ -150,8 +150,25 @@
#define LEN_VMIXTRIMS "\003"
#define TR_VMIXTRIMS "OFF""ON\0""Dir""Ele""Ace""Ale"
#if defined(PCBTARANIS)
#define TR_CSWTIMER "Timer"
#define TR_CSWSTICKY "Stcky"
#define TR_CSWRANGE "Range"
#define TR_CSWSTAY "Edge\0"
#else
#define TR_CSWTIMER "Tim\0 "
#define TR_CSWSTICKY "Glue\0"
#if defined(CPUARM)
#define TR_CSWRANGE "Rnge\0"
#define TR_CSWSTAY "Edge\0"
#else
#define TR_CSWRANGE
#define TR_CSWSTAY
#endif
#endif
#define LEN_VCSWFUNC "\005"
#define TR_VCSWFUNC "---\0 ""a{x\0 ""a>x\0 ""a<x\0 ""|a|>x""|a|<x""AND\0 ""OR\0 ""XOR\0 ""a=b\0 ""a>b\0 ""a<b\0 ""d}x\0 ""|d|}x""TIM\0"
#define TR_VCSWFUNC "---\0 ""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 ""d}x\0 ""|d|}x" TR_CSWTIMER TR_CSWSTICKY
#define LEN_VFSWFUNC "\012"
@@ -167,9 +184,7 @@
#define TR_SOUND "Beep\0 "
#endif
#if defined(PCBTARANIS)
#define TR_HAPTIC
#elif defined(HAPTIC)
#if defined(HAPTIC)
#define TR_HAPTIC "Tactil\0 "
#else
#define TR_HAPTIC "[Tactil]\0 "
@@ -188,8 +203,7 @@
#define TR_PLAY_BOTH "[OirAmbos]"
#define TR_PLAY_VALUE "[OirValor]"
#endif
#define TR_CFN_VOLUME "Volumen\0 "
#define TR_CFN_BG_MUSIC "BgMusica\0 ""BgMusica||"
#if defined(SDCARD)
@@ -199,9 +213,9 @@
#endif
#ifdef GVARS
#define TR_CFN_ADJUST_GVAR "Ajuste\0 "
#define TR_ADJUST_GVAR "Ajuste\0 "
#else
#define TR_CFN_ADJUST_GVAR
#define TR_ADJUST_GVAR "[AdjustGV]"
#endif
#ifdef DEBUG
@@ -211,11 +225,11 @@
#endif
#if defined(CPUARM)
#define TR_VFSWFUNC "Seguro\0 ""Aprendiz\0 ""Inst. Trim" TR_SOUND TR_HAPTIC "Reset\0 " TR_VVARIO TR_PLAY_TRACK TR_PLAY_VALUE TR_SDCLOGS TR_CFN_VOLUME "Luz fondo\0" TR_CFN_BG_MUSIC TR_CFN_ADJUST_GVAR TR_CFN_TEST
#define TR_VFSWFUNC "Seguro\0 ""Aprendiz\0 ""Inst. Trim""Reset\0 " TR_ADJUST_GVAR "Volumen\0 " TR_SOUND TR_PLAY_TRACK TR_PLAY_VALUE TR_CFN_BG_MUSIC TR_VVARIO TR_HAPTIC TR_SDCLOGS "Luz fondo\0" TR_CFN_TEST
#elif defined(PCBGRUVIN9X)
#define TR_VFSWFUNC "Seguro\0 ""Aprendiz\0 ""Inst. Trim" TR_SOUND TR_HAPTIC "Reset\0 " TR_VVARIO TR_PLAY_TRACK TR_PLAY_BOTH TR_PLAY_VALUE TR_SDCLOGS "Luz fondo\0" TR_CFN_ADJUST_GVAR TR_CFN_TEST
#define TR_VFSWFUNC "Seguro\0 ""Aprendiz\0 ""Inst. Trim""Reset\0 " TR_ADJUST_GVAR TR_SOUND TR_PLAY_TRACK TR_PLAY_BOTH TR_PLAY_VALUE TR_VVARIO TR_HAPTIC TR_SDCLOGS "Luz fondo\0" TR_CFN_TEST
#else
#define TR_VFSWFUNC "Seguro\0 ""Aprendiz\0 ""Inst. Trim" TR_SOUND TR_HAPTIC "Reset\0 " TR_VVARIO TR_PLAY_TRACK TR_PLAY_BOTH TR_PLAY_VALUE "Luz fondo\0" TR_CFN_ADJUST_GVAR TR_CFN_TEST
#define TR_VFSWFUNC "Seguro\0 ""Aprendiz\0 ""Inst. Trim""Reset\0 " TR_ADJUST_GVAR TR_SOUND TR_PLAY_TRACK TR_PLAY_BOTH TR_PLAY_VALUE TR_VVARIO TR_HAPTIC "Luz fondo\0" TR_CFN_TEST
#endif
#define LEN_VFSWRESET TR("\004", "\011")
@@ -304,7 +318,7 @@
#define TR_VSWASHTYPE "---\0""120\0""120X""140\0""90\0"
#define LEN_VKEYS "\005"
#define TR_VKEYS TR(" Menu""Salir""Abajo""Arrib""Dcha.""Izqd.", " Menu""Salir""Enter""Pgna.""Mas ""Menos")
#define TR_VKEYS TR("Menu\0""Salir""Abajo""Arrib""Dcha.""Izqd.", "Menu\0""Salir""Enter""Pgna.""Mas\0 ""Menos")
#define LEN_VRENCODERS "\003"
#define TR_VRENCODERS "REa""REb"
@@ -333,21 +347,26 @@
#define TR_CUSTOMSW "CS1""CS2""CS3""CS4""CS5""CS6""CS7""CS8""CS9""CSA""CSB""CSC"
#endif
#if defined(PCBTARANIS)
#define TR_6POS_POTS "P11""P12""P13""P14""P15""P16""P21""P22""P23""P24""P25""P26"
#define TR_VSWITCHES "SA\300""SA-""SA\301""SB\300""SB-""SB\301""SC\300""SC-""SC\301""SD\300""SD-""SD\301""SE\300""SE-""SE\301""SF\300""SF\301""SG\300""SG-""SG\301""SH\300""SH\301" TR_CUSTOMSW TR_6POS_POTS "Uno"
#else
#define TR_VSWITCHES TR_9X_3POS_SWITCHES "ACE""DIR""ELE""ALE""GEA""TRN" TR_CUSTOMSW "Uno"
#endif
#define TR_TRIMS_SWITCHES "tRl""tRr""tEd""tEu""tTd""tTu""tAl""tAr"
#if defined(PCBSKY9X)
#define TR_ROTARY_ENCODERS_VSRCRAW "REnc"
#elif defined(PCBGRUVIN9X) && ROTARY_ENCODERS > 2
#define TR_ROTARY_ENCODERS_VSRCRAW "REa ""REb ""REc ""REd "
#elif defined(PCBGRUVIN9X) && ROTARY_ENCODERS <= 2
#define TR_ROTARY_ENCODERS_VSRCRAW "REa ""REb "
#define TR_ROTARY_ENCODERS "REa\0"
#define TR_ROTENC_SWITCHES "REa"
#elif defined(PCBGRUVIN9X) || defined(PCBMEGA2560)
#define TR_ROTARY_ENCODERS "REa\0""REb\0"
#define TR_ROTENC_SWITCHES "REa""REb"
#else
#define TR_ROTARY_ENCODERS_VSRCRAW
#define TR_ROTARY_ENCODERS
#define TR_ROTENC_SWITCHES
#endif
#if defined(PCBTARANIS)
#define TR_6POS_POTS "P11""P12""P13""P14""P15""P16""P21""P22""P23""P24""P25""P26"
#define TR_VSWITCHES "SA\300""SA-""SA\301""SB\300""SB-""SB\301""SC\300""SC-""SC\301""SD\300""SD-""SD\301""SE\300""SE-""SE\301""SF\300""SF\301""SG\300""SG-""SG\301""SH\300""SH\301" TR_6POS_POTS TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_CUSTOMSW
#elif defined(CPUARM)
#define TR_VSWITCHES TR_9X_3POS_SWITCHES "THR""RUD""ELE""AIL""GEA""TRN" TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_CUSTOMSW
#else
#define TR_VSWITCHES TR_9X_3POS_SWITCHES "THR""RUD""ELE""AIL""GEA""TRN" TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_CUSTOMSW
#endif
#if defined(HELI)
@@ -356,7 +375,7 @@
#define TR_CYC_VSRCRAW "[C1]""[C2]""[C3]"
#endif
#define TR_VSRCRAW "---\0""Dir\0""Ele\0""Thr\0""Ale\0" TR_POTS_VSRCRAW TR_ROTARY_ENCODERS_VSRCRAW "MAX\0" TR_CYC_VSRCRAW "TrmR" "TrmE" "TrmT" "TrmA" TR_SW_VSRCRAW
#define TR_VSRCRAW "---\0""Dir\0""Ele\0""Thr\0""Ale\0" TR_POTS_VSRCRAW TR_ROTARY_ENCODERS "MAX\0" TR_CYC_VSRCRAW "TrmR" "TrmE" "TrmT" "TrmA" TR_SW_VSRCRAW
#define LEN_VTMRMODES "\003"
#define TR_VTMRMODES "OFF""ABS""THs""TH%""THt"
@@ -390,7 +409,7 @@
#define TR_POPUPS TR_ENTER "\010[SALIR]"
#define OFS_EXIT sizeof(TR_ENTER)
#define TR_MENUWHENDONE CENTER "\006" TR_ENTER "AL ACABAR "
#define TR_MENUWHENDONE CENTER "\007" TR_ENTER " AL ACABAR "
#define TR_FREE "libre"
#define TR_DELETEMODEL "BORRAR MODELO"
#define TR_COPYINGMODEL "Copiando modelo.."
@@ -495,17 +514,15 @@
#define TR_CAL "Cal"
#define TR_VTRIM "Trim- +"
#define TR_BG "BG:"
#define TR_MENUTOSTART CENTER "\006" TR_ENTER "EMPEZAR"
#define TR_SETMIDPOINT CENTER "\003STICKS AL CENTRO"
#define TR_MENUTOSTART CENTER "\010" TR_ENTER " EMPEZAR"
#define TR_SETMIDPOINT TR(CENTER "\007STICKS AL CENTRO",CENTER "\010STICKS AL CENTRO")
#define TR_MOVESTICKSPOTS CENTER "\006MOVER STICKS/POTS"
#define TR_RXBATT "Rx Batt:"
#define TR_TXnRX "Tx:\0Rx:"
#define OFS_RX 4
#define TR_ACCEL "Acc:"
#define TR_NODATA CENTER "SIN DATOS"
#define TR_TM1TM2 "TM1\037\146TM2"
#define TR_THRTHP "THR\037\146TH%"
#define TR_TOT "TOT"
#define TR_TOTTM1TM2THRTHP "\037\146TOT\036TM1\037\146TM2\036THR\037\146TH%"
#define TR_TMR1LATMAXUS "Tmr1Lat max\037\124us"
#define STR_US (STR_TMR1LATMAXUS+13)
#define TR_TMR1LATMINUS "Tmr1Lat min\037\124us"
@@ -528,7 +545,7 @@
#define TR_EEPROMLOWMEM "EEPROM mem.baja"
#define TR_ALERT "\016ALERTA"
#define TR_PRESSANYKEYTOSKIP "Pulsar tecla omitir"
#define TR_THROTTLENOTIDLE "Aceler.Activado"
#define TR_THROTTLENOTIDLE "Aceler. Activado"
#define TR_ALARMSDISABLED "Alarmas Desact."
#define TR_PRESSANYKEY TR("\010Pulsa una Tecla", "Pulsa una Tecla")
#define TR_BADEEPROMDATA "Datos EEprom mal"
@@ -717,7 +734,7 @@
// Taranis column headers
#define TR_PHASES_HEADERS { " Nombre ", " Interrup.", " Trims ", " Aparecer ", " Desparecer " }
#define TR_LIMITS_HEADERS { " Nombre ", " Compensacion", " Min ", " Max ", " Direccion ", " Curve ", " Centrado PPM ", " Simetrica " }
#define TR_CSW_HEADERS { " Funcion ", " V1 ", " V2 ", " AND Interrup. ", " Duracion ", " Retardo " }
#define TR_CSW_HEADERS { " Funcion ", " V1 ", " V2 ", " V2 ", " AND Interrup. ", " Duracion ", " Retardo " }
//Taranis About screen
#define TR_ABOUTUS "Nosotros"
@@ -770,7 +787,7 @@
#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_INPUT 'I' // Values between A-I will work
#define TR_BEEP_VOLUME "Volumen Beep"
#define TR_WAV_VOLUME "Volumen Wav"
+50 -33
View File
@@ -35,7 +35,7 @@
*/
/* Formatting octal codes available in TR_ strings:
* \037\x -sets LCD x-coord (x value in octal)
* \036 -newline (ARM boards only)
* \036 -newline
* \001 to \035 -extended spacing (value * FW/2)
* \0 -ends actual string
*/
@@ -150,8 +150,25 @@
#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_CSWRANGE "Plage"
#define TR_CSWSTAY "Flanc"
#else
#define TR_CSWTIMER "Temp\0"
#define TR_CSWSTICKY "Bist\0"
#if defined(CPUARM)
#define TR_CSWRANGE "Zone\0"
#define TR_CSWSTAY "Flnc\0"
#else
#define TR_CSWRANGE
#define TR_CSWSTAY
#endif
#endif
#define LEN_VCSWFUNC "\005"
#define TR_VCSWFUNC "---\0 ""a{x\0 ""a>x\0 ""a<x\0 ""|a|>x""|a|<x""AND\0 ""OR\0 ""XOR\0 ""a=b\0 ""a>b\0 ""a<b\0 ""d}x\0 ""|d|}x""TIM\0"
#define TR_VCSWFUNC "---\0 ""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 ""d}x\0 ""|d|}x" TR_CSWTIMER TR_CSWSTICKY
#define LEN_VFSWFUNC "\015"
@@ -167,9 +184,7 @@
#define TR_SOUND "Bip\0 "
#endif
#if defined(PCBTARANIS)
#define TR_HAPTIC
#elif defined(HAPTIC)
#if defined(HAPTIC)
#define TR_HAPTIC "Vibreur\0 "
#else
#define TR_HAPTIC "[Vibreur]\0 "
@@ -189,7 +204,6 @@
#define TR_PLAY_VALUE "[Dire valeur]"
#endif
#define TR_CFN_VOLUME "Volume\0 "
#define TR_CFN_BG_MUSIC "Musique\0 ""Pause Musique"
#if defined(SDCARD)
@@ -199,9 +213,9 @@
#endif
#ifdef GVARS
#define TR_CFN_ADJUST_GVAR "Ajuster\0 "
#define TR_ADJUST_GVAR "Ajuster\0 "
#else
#define TR_CFN_ADJUST_GVAR
#define TR_ADJUST_GVAR "[AjusteGV]\0 "
#endif
#ifdef DEBUG
@@ -211,11 +225,11 @@
#endif
#if defined(CPUARM)
#define TR_VFSWFUNC "Sécur.\0 ""Ecolage\0 ""Trim instant." TR_SOUND TR_HAPTIC "Remise à 0\0 " TR_VVARIO TR_PLAY_TRACK TR_PLAY_VALUE TR_SDCLOGS TR_CFN_VOLUME "Rétroécl.\0 " TR_CFN_BG_MUSIC TR_CFN_ADJUST_GVAR TR_CFN_TEST
#define TR_VFSWFUNC "Sécur.\0 ""Ecolage\0 ""Trim instant.""Remise à 0\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
#elif defined(PCBGRUVIN9X)
#define TR_VFSWFUNC "Sécur.\0 ""Ecolage\0 ""Trim instant." TR_SOUND TR_HAPTIC "Remise à 0\0 " TR_VVARIO TR_PLAY_TRACK TR_PLAY_BOTH TR_PLAY_VALUE TR_SDCLOGS "Rétroécl.\0 " TR_CFN_ADJUST_GVAR 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." TR_SOUND TR_HAPTIC "Remise à 0\0 " TR_VVARIO TR_PLAY_TRACK TR_PLAY_BOTH TR_PLAY_VALUE "Rétroécl.\0 " TR_CFN_ADJUST_GVAR 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")
@@ -304,7 +318,7 @@
#define TR_VSWASHTYPE "--- ""120 ""120X""140 ""90\0"
#define LEN_VKEYS "\005"
#define TR_VKEYS TR(" Menu"" Exit"" Bas"" Haut""Droit""Gauch", " Menu"" Exit""Enter"" Page"" Plus""Minus")
#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"
@@ -326,28 +340,33 @@
#endif
#if defined(CPUARM)
#define TR_CUSTOMSW "IP1""IP2""IP3""IP4""IP5""IP6""IP7""IP8""IP9""IPA""IPB""IPC""IPD""IPE""IPF""IPG""IPH""IPI""IPJ""IPK""IPL""IPM""IPN""IPO""IPP""IPQ""IPR""IPS""IPT""IPU""IPV""IPW"
#define TR_CUSTOMSW "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_CUSTOMSW "IP1""IP2""IP3""IP4""IP5""IP6""IP7""IP8""IP9""IPA""IPB""IPC""IPD""IPE""IPF"
#define TR_CUSTOMSW "IL1""IL2""IL3""IL4""IL5""IL6""IL7""IL8""IL9""ILA""ILB""ILC""ILD""ILE""ILF"
#else
#define TR_CUSTOMSW "IP1""IP2""IP3""IP4""IP5""IP6""IP7""IP8""IP9""IPA""IPB""IPC"
#define TR_CUSTOMSW "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"
#if defined(PCBSKY9X)
#define TR_ROTARY_ENCODERS "REa\0"
#define TR_ROTENC_SWITCHES "REa"
#elif defined(PCBGRUVIN9X) || defined(PCBMEGA2560)
#define TR_ROTARY_ENCODERS "REa\0""REb\0"
#define TR_ROTENC_SWITCHES "REa""REb"
#else
#define TR_ROTARY_ENCODERS
#define TR_ROTENC_SWITCHES
#endif
#if defined(PCBTARANIS)
#define TR_6POS_POTS "P11""P12""P13""P14""P15""P16""P21""P22""P23""P24""P25""P26"
#define TR_VSWITCHES "SA\300""SA-""SA\301""SB\300""SB-""SB\301""SC\300""SC-""SC\301""SD\300""SD-""SD\301""SE\300""SE-""SE\301""SF\300""SF\301""SG\300""SG-""SG\301""SH\300""SH\301" TR_CUSTOMSW TR_6POS_POTS "1*\0"
#define TR_VSWITCHES "SA\300""SA-""SA\301""SB\300""SB-""SB\301""SC\300""SC-""SC\301""SD\300""SD-""SD\301""SE\300""SE-""SE\301""SF\300""SF\301""SG\300""SG-""SG\301""SH\300""SH\301" TR_6POS_POTS TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_CUSTOMSW
#elif defined(CPUARM)
#define TR_VSWITCHES TR_9X_3POS_SWITCHES "THR""RUD""ELE""AIL""GEA""TRN" TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_CUSTOMSW
#else
#define TR_VSWITCHES TR_9X_3POS_SWITCHES "THR""RUD""ELE""AIL""GEA""TRN" TR_CUSTOMSW "1*\0"
#endif
#if defined(PCBSKY9X)
#define TR_ROTARY_ENCODERS_VSRCRAW "REnc"
#elif defined(PCBGRUVIN9X) && ROTARY_ENCODERS > 2
#define TR_ROTARY_ENCODERS_VSRCRAW "REa ""REb ""REc ""REd "
#elif defined(PCBGRUVIN9X) && ROTARY_ENCODERS <= 2
#define TR_ROTARY_ENCODERS_VSRCRAW "REa ""REb "
#else
#define TR_ROTARY_ENCODERS_VSRCRAW
#define TR_VSWITCHES TR_9X_3POS_SWITCHES "THR""RUD""ELE""AIL""GEA""TRN" TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_CUSTOMSW
#endif
#if defined(HELI)
@@ -356,7 +375,7 @@
#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_VSRCRAW "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_ENCODER "MAX\0" TR_CYC_VSRCRAW "TrmD" "TrmP" "TrmG" "TrmA" TR_SW_VSRCRAW
#define LEN_VTMRMODES "\003"
#define TR_VTMRMODES "OFF""ABS""GZs""GZ%""GZt"
@@ -503,9 +522,7 @@
#define OFS_RX 4
#define TR_ACCEL "Acc:"
#define TR_NODATA "NO DATA"
#define TR_TM1TM2 "TM1\037\146TM2"
#define TR_THRTHP "THR\037\146TH%"
#define TR_TOT "TOT"
#define TR_TOTTM1TM2THRTHP "\037\146TOT\036TM1\037\146TM2\036THR\037\146TH%"
#define TR_TMR1LATMAXUS "Tmr1Lat max\037\124us"
#define STR_US (STR_TMR1LATMAXUS+13)
#define TR_TMR1LATMINUS "Tmr1Lat min\037\124us"
@@ -717,7 +734,7 @@
// 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_CSW_HEADERS { " Fonction ", " V1 ", " V2 ", " ET suppl. ", " Durée ", " Délai " }
#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")
@@ -770,7 +787,7 @@
#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_INPUT 'E' // Values between A-I will work
#define TR_BEEP_VOLUME "Beep Volume"
#define TR_WAV_VOLUME "Wav Volume"
+51 -34
View File
@@ -35,7 +35,7 @@
*/
/* Formatting octal codes available in TR_ strings:
* \037\x -sets LCD x-coord (x value in octal)
* \036 -newline (ARM boards only)
* \036 -newline
* \001 to \035 -extended spacing (value * FW/2)
* \0 -ends actual string
*/
@@ -150,8 +150,25 @@
#define LEN_VMIXTRIMS "\003"
#define TR_VMIXTRIMS "OFF""ON ""Rud""Ele""Thr""Ail"
#if defined(PCBTARANIS)
#define TR_CSWTIMER "Timer"
#define TR_CSWSTICKY "Stcky"
#define TR_CSWRANGE "Range"
#define TR_CSWSTAY "Edge\0"
#else
#define TR_CSWTIMER "Tim\0 "
#define TR_CSWSTICKY "Glue\0"
#if defined(CPUARM)
#define TR_CSWRANGE "Rnge\0"
#define TR_CSWSTAY "Edge\0"
#else
#define TR_CSWRANGE
#define TR_CSWSTAY
#endif
#endif
#define LEN_VCSWFUNC "\005"
#define TR_VCSWFUNC "---\0 ""a{x\0 ""a>x\0 ""a<x\0 ""|a|>x""|a|<x""AND\0 ""OR\0 ""XOR\0 ""a=b\0 ""a>b\0 ""a<b\0 ""d}x\0 ""|d|}x""TIM\0"
#define TR_VCSWFUNC "---\0 ""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 ""d}x\0 ""|d|}x" TR_CSWTIMER TR_CSWSTICKY
#define LEN_VFSWFUNC "\015"
@@ -167,9 +184,7 @@
#define TR_SOUND "Beep\0 "
#endif
#if defined(PCBTARANIS)
#define TR_HAPTIC
#elif defined(HAPTIC)
#if defined(HAPTIC)
#define TR_HAPTIC "Vibrazione\0 "
#else
#define TR_HAPTIC "[Vibrazione]\0"
@@ -189,7 +204,6 @@
#define TR_PLAY_VALUE "[LeggiValore]"
#endif
#define TR_CFN_VOLUME "Volume\0 "
#define TR_CFN_BG_MUSIC "BgMusic\0 ""BgMusic Pause"
#if defined(SDCARD)
@@ -199,9 +213,9 @@
#endif
#ifdef GVARS
#define TR_CFN_ADJUST_GVAR "Adjust \0 "
#define TR_ADJUST_GVAR "Adjust \0 "
#else
#define TR_CFN_ADJUST_GVAR
#define TR_ADJUST_GVAR "[AdjustGV]\0 "
#endif
#ifdef DEBUG
@@ -211,11 +225,11 @@
#endif
#if defined(CPUARM)
#define TR_VFSWFUNC "Blocco\0 ""Maestro \0 ""Trim Instant " TR_SOUND TR_HAPTIC "Azzera\0 " TR_VVARIO TR_PLAY_TRACK TR_PLAY_VALUE TR_SDCLOGS TR_CFN_VOLUME "Retroillum.\0 " TR_CFN_BG_MUSIC TR_CFN_ADJUST_GVAR TR_CFN_TEST
#define TR_VFSWFUNC "Blocco\0 ""Maestro \0 ""Trim Instant ""Azzera\0 " TR_ADJUST_GVAR "Volume\0 " TR_SOUND TR_PLAY_TRACK TR_PLAY_VALUE TR_CFN_BG_MUSIC TR_VVARIO TR_HAPTIC TR_SDCLOGS "Retroillum.\0 " TR_CFN_TEST
#elif defined(PCBGRUVIN9X)
#define TR_VFSWFUNC "Blocco\0 ""Maestro \0 ""Trim Instant " TR_SOUND TR_HAPTIC "Azzera\0 " TR_VVARIO TR_PLAY_TRACK TR_PLAY_BOTH TR_PLAY_VALUE TR_SDCLOGS "Retroillum.\0 " TR_CFN_ADJUST_GVAR TR_CFN_TEST
#define TR_VFSWFUNC "Blocco\0 ""Maestro \0 ""Trim Instant ""Azzera\0 " TR_ADJUST_GVAR TR_SOUND TR_PLAY_TRACK TR_PLAY_BOTH TR_PLAY_VALUE TR_VVARIO TR_HAPTIC TR_SDCLOGS "Retroillum.\0 " TR_CFN_TEST
#else
#define TR_VFSWFUNC "Blocco\0 ""Maestro \0 ""Trim Instant " TR_SOUND TR_HAPTIC "Azzera\0 " TR_VVARIO TR_PLAY_TRACK TR_PLAY_BOTH TR_PLAY_VALUE "Retroillum.\0 " TR_CFN_ADJUST_GVAR TR_CFN_TEST
#define TR_VFSWFUNC "Blocco\0 ""Maestro \0 ""Trim Instant ""Azzera\0 " TR_ADJUST_GVAR TR_SOUND TR_PLAY_TRACK TR_PLAY_BOTH TR_PLAY_VALUE TR_VVARIO TR_HAPTIC "Retroillum.\0 " TR_CFN_TEST
#endif
#define LEN_VFSWRESET TR("\004", "\011")
@@ -304,7 +318,7 @@
#define TR_VSWASHTYPE "--- ""120 ""120X""140 ""90\0"
#define LEN_VKEYS "\005"
#define TR_VKEYS TR(" Menù"" EXIT"" DN "" UP"" SX"" DX", " Menu"" Exit""Enter"" Page"" Plus""Minus")
#define TR_VKEYS TR("Menù\0""EXIT\0""DN\0 ""UP\0 ""SX\0 ""DX\0 ", "Menu\0""Exit\0""Enter""Page\0""Plus\0""Minus")
#define LEN_VRENCODERS "\003"
#define TR_VRENCODERS "REa""REb"
@@ -333,21 +347,26 @@
#define TR_CUSTOMSW "SW1""SW2""SW3""SW4""SW5""SW6""SW7""SW8""SW9""SWA""SWB""SWC"
#endif
#if defined(PCBTARANIS)
#define TR_6POS_POTS "P11""P12""P13""P14""P15""P16""P21""P22""P23""P24""P25""P26"
#define TR_VSWITCHES "SA\300""SA-""SA\301""SB\300""SB-""SB\301""SC\300""SC-""SC\301""SD\300""SD-""SD\301""SE\300""SE-""SE\301""SF\300""SF\301""SG\300""SG-""SG\301""SH\300""SH\301" TR_CUSTOMSW TR_6POS_POTS "1*\0"
#else
#define TR_VSWITCHES TR_9X_3POS_SWITCHES "THR""RUD""ELE""AIL""GEA""TRN" TR_CUSTOMSW "One"
#endif
#define TR_TRIMS_SWITCHES "tRl""tRr""tEd""tEu""tTd""tTu""tAl""tAr"
#if defined(PCBSKY9X)
#define TR_ROTARY_ENCODERS_VSRCRAW "REa "
#elif defined(PCBGRUVIN9X) && ROTARY_ENCODERS > 2
#define TR_ROTARY_ENCODERS_VSRCRAW "REa ""REb ""REc ""REd "
#elif defined(PCBGRUVIN9X) && ROTARY_ENCODERS <= 2
#define TR_ROTARY_ENCODERS_VSRCRAW "REa ""REb "
#define TR_ROTARY_ENCODERS "REa\0"
#define TR_ROTENC_SWITCHES "REa"
#elif defined(PCBGRUVIN9X) || defined(PCBMEGA2560)
#define TR_ROTARY_ENCODERS "REa\0""REb\0"
#define TR_ROTENC_SWITCHES "REa""REb"
#else
#define TR_ROTARY_ENCODERS_VSRCRAW
#define TR_ROTARY_ENCODERS
#define TR_ROTENC_SWITCHES
#endif
#if defined(PCBTARANIS)
#define TR_6POS_POTS "P11""P12""P13""P14""P15""P16""P21""P22""P23""P24""P25""P26"
#define TR_VSWITCHES "SA\300""SA-""SA\301""SB\300""SB-""SB\301""SC\300""SC-""SC\301""SD\300""SD-""SD\301""SE\300""SE-""SE\301""SF\300""SF\301""SG\300""SG-""SG\301""SH\300""SH\301" TR_6POS_POTS TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_CUSTOMSW
#elif defined(CPUARM)
#define TR_VSWITCHES TR_9X_3POS_SWITCHES "THR""RUD""ELE""AIL""GEA""TRN" TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_CUSTOMSW
#else
#define TR_VSWITCHES TR_9X_3POS_SWITCHES "THR""RUD""ELE""AIL""GEA""TRN" TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_CUSTOMSW
#endif
#if defined(HELI)
@@ -356,7 +375,7 @@
#define TR_CYC_VSRCRAW "[C1]""[C2]""[C3]"
#endif
#define TR_VSRCRAW "---\0""Rud\0""Ele\0""Thr\0""Ail\0" TR_POTS_VSRCRAW TR_ROTARY_ENCODERS_VSRCRAW "MAX\0" TR_CYC_VSRCRAW "TrmR" "TrmE" "TrmT" "TrmA" TR_SW_VSRCRAW
#define TR_VSRCRAW "---\0""Rud\0""Ele\0""Thr\0""Ail\0" TR_POTS_VSRCRAW TR_ROTARY_ENCODERS "MAX\0" TR_CYC_VSRCRAW "TrmR" "TrmE" "TrmT" "TrmA" TR_SW_VSRCRAW
#define LEN_VTMRMODES "\003"
#define TR_VTMRMODES "OFF""ABS""THs""TH%""THt"
@@ -390,7 +409,7 @@
#define TR_POPUPS TR_ENTER"\004[EXIT]"
#define OFS_EXIT sizeof(TR_ENTER)
#define TR_MENUWHENDONE CENTER"\006"TR_ENTER" Conferma"
#define TR_MENUWHENDONE CENTER"\007"TR_ENTER" Conferma"
#define TR_FREE " Disp."
#define TR_DELETEMODEL "Elimina modello?"
#define TR_COPYINGMODEL "Copia in corso.."
@@ -495,17 +514,15 @@
#define TR_CAL "Cal"
#define TR_VTRIM "Trim- +"
#define TR_BG "BG:"
#define TR_MENUTOSTART CENTER"\006" TR_ENTER " per Cal."
#define TR_SETMIDPOINT CENTER"\011SETTA CENTRO"
#define TR_MOVESTICKSPOTS CENTER"\006MUOVI STICK/POT"
#define TR_MENUTOSTART CENTER"\011" TR_ENTER " per Cal."
#define TR_SETMIDPOINT CENTER"\012SETTA CENTRO"
#define TR_MOVESTICKSPOTS CENTER"\010MUOVI STICK/POT"
#define TR_RXBATT "Rx Batt:"
#define TR_TXnRX "Tx:\0Rx:"
#define OFS_RX 4
#define TR_ACCEL "Acc:"
#define TR_NODATA CENTER"DATI ASSENTI"
#define TR_TM1TM2 "TM1\037\146TM2"
#define TR_THRTHP "THR\037\146TH%"
#define TR_TOT "TOT"
#define TR_TOTTM1TM2THRTHP "\037\146TOT\036TM1\037\146TM2\036THR\037\146TH%"
#define TR_TMR1LATMAXUS "Tmr1Lat max\037\124us"
#define STR_US (STR_TMR1LATMAXUS+13)
#define TR_TMR1LATMINUS "Tmr1Lat min\037\124us"
@@ -717,7 +734,7 @@
// Taranis column headers
#define TR_PHASES_HEADERS { " Nome ", " Switch ", " Trims ", " Fade In ", " Fade Out " }
#define TR_LIMITS_HEADERS { " Nome ", " Offset ", " Min ", " Max ", " Direzione ", " Curve ", " Centro PPM ", " Simmetria " }
#define TR_CSW_HEADERS { " Funzione ", " V1 ", " V2 ", " AND Switch ", " Durata ", " Ritardo " }
#define TR_CSW_HEADERS { " Funzione ", " V1 ", " V2 ", " V2 ", " AND Switch ", " Durata ", " Ritardo " }
//Taranis About screen
#define TR_ABOUTUS "Info su"
@@ -770,7 +787,7 @@
#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_INPUT 'I' // Values between A-I will work
#define TR_BEEP_VOLUME "Beep Volume"
#define TR_WAV_VOLUME "Wav Volume"
+52 -35
View File
@@ -35,7 +35,7 @@
*/
/* Formatting octal codes available in TR_ strings:
* \037\x -sets LCD x-coord (x value in octal)
* \036 -newline (ARM boards only)
* \036 -newline
* \001 to \035 -extended spacing (value * FW/2)
* \0 -ends actual string
*/
@@ -150,8 +150,25 @@
#define LEN_VMIXTRIMS "\004"
#define TR_VMIXTRIMS "WYł\0""ZAŁ\0""SK\0 ""SW\0 ""GAZ\0""Lotk"
#if defined(PCBTARANIS)
#define TR_CSWTIMER "Timer"
#define TR_CSWSTICKY "Stcky"
#define TR_CSWRANGE "Range"
#define TR_CSWSTAY "Edge\0"
#else
#define TR_CSWTIMER "Tim\0 "
#define TR_CSWSTICKY "Glue\0"
#if defined(CPUARM)
#define TR_CSWRANGE "Rnge\0"
#define TR_CSWSTAY "Edge\0"
#else
#define TR_CSWRANGE
#define TR_CSWSTAY
#endif
#endif
#define LEN_VCSWFUNC "\005"
#define TR_VCSWFUNC "---\0 ""a{x\0 ""a>x\0 ""a<x\0 ""|a|>x""|a|<x""AND\0 ""OR\0 ""XOR\0 ""a=b\0 ""a>b\0 ""a<b\0 ""d}x\0 ""|d|}x""TIM\0"
#define TR_VCSWFUNC "---\0 ""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 ""d}x\0 ""|d|}x" TR_CSWTIMER TR_CSWSTICKY
#define LEN_VFSWFUNC "\013"
@@ -167,9 +184,7 @@
#define TR_SOUND "Pikanie\0 "
#endif
#if defined(PCBTARANIS)
#define TR_HAPTIC
#elif defined(HAPTIC)
#if defined(HAPTIC)
#define TR_HAPTIC "Wibracje\0 "
#else
#define TR_HAPTIC "[Wibracje] "
@@ -189,7 +204,6 @@
#define TR_PLAY_VALUE "[\222 Wart.]\0"
#endif
#define TR_CFN_VOLUME "Głośność\0 "
#define TR_CFN_BG_MUSIC "Muz. tła " "Muz. tła ||"
#if defined(SDCARD)
@@ -201,7 +215,7 @@
#ifdef GVARS
#define TR_CFN_ADJUST_GVAR "Ustaw \0 "
#else
#define TR_CFN_ADJUST_GVAR
#define TR_CFN_ADJUST_GVAR "[AdjustGV]\0"
#endif
#ifdef DEBUG
@@ -211,11 +225,11 @@
#endif
#if defined(CPUARM)
#define TR_VFSWFUNC "Bezp.\0 ""Trener \0 ""Inst-Trim " TR_SOUND TR_HAPTIC "Reset " TR_VVARIO TR_PLAY_TRACK TR_PLAY_VALUE TR_SDCLOGS TR_CFN_VOLUME "Podświetl. " TR_CFN_BG_MUSIC TR_CFN_ADJUST_GVAR TR_CFN_TEST
#define TR_VFSWFUNC "Bezp.\0 ""Trener \0 ""Inst-Trim ""Reset " TR_ADJUST_GVAR "Głośność\0 " TR_SOUND TR_PLAY_TRACK TR_PLAY_VALUE TR_CFN_BG_MUSIC TR_VVARIO TR_HAPTIC TR_SDCLOGS "Podświetl. " TR_CFN_TEST
#elif defined(PCBGRUVIN9X)
#define TR_VFSWFUNC "Bezp.\0 ""Trener \0 ""Inst-Trim " TR_SOUND TR_HAPTIC "Reset " TR_VVARIO TR_PLAY_TRACK TR_PLAY_BOTH TR_PLAY_VALUE TR_SDCLOGS "Podświetl. " TR_CFN_ADJUST_GVAR TR_CFN_TEST
#define TR_VFSWFUNC "Bezp.\0 ""Trener \0 ""Inst-Trim ""Reset " TR_ADJUST_GVAR TR_SOUND TR_PLAY_TRACK TR_PLAY_BOTH TR_PLAY_VALUE TR_VVARIO TR_HAPTIC TR_SDCLOGS "Podświetl. " TR_CFN_TEST
#else
#define TR_VFSWFUNC "Bezp.\0 ""Trener \0 ""Inst-Trim " TR_SOUND TR_HAPTIC "Reset " TR_VVARIO TR_PLAY_TRACK TR_PLAY_BOTH TR_PLAY_VALUE "Podświetl. " TR_CFN_ADJUST_GVAR TR_CFN_TEST
#define TR_VFSWFUNC "Bezp.\0 ""Trener \0 ""Inst-Trim ""Reset " TR_ADJUST_GVAR TR_SOUND TR_PLAY_TRACK TR_PLAY_BOTH TR_PLAY_VALUE TR_VVARIO TR_HAPTIC "Podświetl. " TR_CFN_TEST
#endif
#define LEN_VFSWRESET TR("\004", "\012")
@@ -304,7 +318,7 @@
#define TR_VSWASHTYPE "--- ""120 ""120X""140 ""90\0"
#define LEN_VKEYS "\005"
#define TR_VKEYS TR(" Menu""Wyjdź""W dół""Wgórę""Wpraw""Wlewo", " Menu""Wyjdź""W dół""Wgórę""Wpraw""Wlewo")
#define TR_VKEYS TR("Menu\0""Wyjdź""W dół""Wgórę""Wpraw""Wlewo", "Menu\0""Wyjdź""W dół""Wgórę""Wpraw""Wlewo")
#define LEN_VRENCODERS "\003"
#define TR_VRENCODERS "REa""REb"
@@ -333,21 +347,26 @@
#define TR_CUSTOMSW "PL1""PL2""PL3""PL4""PL5""PL6""PL7""PL8""PL9""PLA""PLB""PLC"
#endif
#if defined(PCBTARANIS)
#define TR_6POS_POTS "P11""P12""P13""P14""P15""P16""P21""P22""P23""P24""P25""P26"
#define TR_VSWITCHES "SA\300""SA-""SA\301""SB\300""SB-""SB\301""SC\300""SC-""SC\301""SD\300""SD-""SD\301""SE\300""SE-""SE\301""SF\300""SF\301""SG\300""SG-""SG\301""SH\300""SH\301" TR_CUSTOMSW TR_6POS_POTS " * "
#else
#define TR_VSWITCHES TR_9X_3POS_SWITCHES "GAZ""SK ""LOT""SW ""GEA""TRN" TR_CUSTOMSW " * "
#endif
#define TR_TRIMS_SWITCHES "tRl""tRr""tEd""tEu""tTd""tTu""tAl""tAr"
#if defined(PCBSKY9X)
#define TR_ROTARY_ENCODERS_VSRCRAW "REnc"
#elif defined(PCBGRUVIN9X) && ROTARY_ENCODERS > 2
#define TR_ROTARY_ENCODERS_VSRCRAW "REa ""REb ""REc ""REd "
#elif defined(PCBGRUVIN9X) && ROTARY_ENCODERS <= 2
#define TR_ROTARY_ENCODERS_VSRCRAW "REa ""REb "
#define TR_ROTARY_ENCODERS "REa\0"
#define TR_ROTENC_SWITCHES "REa"
#elif defined(PCBGRUVIN9X) || defined(PCBMEGA2560)
#define TR_ROTARY_ENCODERS "REa\0""REb\0"
#define TR_ROTENC_SWITCHES "REa""REb"
#else
#define TR_ROTARY_ENCODERS_VSRCRAW
#define TR_ROTARY_ENCODERS
#define TR_ROTENC_SWITCHES
#endif
#if defined(PCBTARANIS)
#define TR_6POS_POTS "P11""P12""P13""P14""P15""P16""P21""P22""P23""P24""P25""P26"
#define TR_VSWITCHES "SA\300""SA-""SA\301""SB\300""SB-""SB\301""SC\300""SC-""SC\301""SD\300""SD-""SD\301""SE\300""SE-""SE\301""SF\300""SF\301""SG\300""SG-""SG\301""SH\300""SH\301" TR_6POS_POTS TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_CUSTOMSW
#elif defined(CPUARM)
#define TR_VSWITCHES TR_9X_3POS_SWITCHES "THR""RUD""ELE""AIL""GEA""TRN" TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_CUSTOMSW
#else
#define TR_VSWITCHES TR_9X_3POS_SWITCHES "THR""RUD""ELE""AIL""GEA""TRN" TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_CUSTOMSW
#endif
#if defined(HELI)
@@ -356,7 +375,7 @@
#define TR_CYC_VSRCRAW "[C1]""[C2]""[C3]"
#endif
#define TR_VSRCRAW "---\0""SK\0 ""SW\0 ""Gaz\0""Lotk" TR_POTS_VSRCRAW TR_ROTARY_ENCODERS_VSRCRAW "MAX\0" TR_CYC_VSRCRAW "TrmK" "TrmW" "TrmG" "TrmL" TR_SW_VSRCRAW
#define TR_VSRCRAW "---\0""SK\0 ""SW\0 ""Gaz\0""Lotk" TR_POTS_VSRCRAW TR_ROTARY_ENCODERS "MAX\0" TR_CYC_VSRCRAW "TrmK" "TrmW" "TrmG" "TrmL" TR_SW_VSRCRAW
#define LEN_VTMRMODES "\003"
#define TR_VTMRMODES "WYŁ""ABS""THs""TH%""THt"
@@ -390,7 +409,7 @@
#define TR_POPUPS TR_ENTER"\010[WYJŚCIE]"
#define OFS_EXIT sizeof(TR_ENTER)
#define TR_MENUWHENDONE CENTER "\007"TR_ENTER" > DALEJ"
#define TR_MENUWHENDONE CENTER "\012"TR_ENTER" > DALEJ"
#define TR_FREE TR("wolne:", "wolne")
#define TR_DELETEMODEL "SKASUJ MODEL"
#define TR_COPYINGMODEL "Kopiuj model.."
@@ -495,17 +514,15 @@
#define TR_CAL "Kal."
#define TR_VTRIM "Trymer- +"
#define TR_BG "BG:"
#define TR_MENUTOSTART CENTER "\007" TR_ENTER " = START"
#define TR_SETMIDPOINT TR(CENTER "\001Ustaw drążki/potencj na środku","\005Ustaw drązki/potencj na środku")
#define TR_MOVESTICKSPOTS TR(CENTER "\004Poruszaj drążkami i potenc.","\010Poruszaj drążkami i potenc.")
#define TR_MENUTOSTART CENTER "\011" TR_ENTER " = START"
#define TR_SETMIDPOINT TR(CENTER "\002Ustaw drążki/potencj","\010Ustaw drązki/potencj na środku")
#define TR_MOVESTICKSPOTS TR(CENTER "Poruszaj drążkami i pot","\014Poruszaj drążkami i potenc.")
#define TR_RXBATT "Rx Bat.:"
#define TR_TXnRX "Tx:\0Rx:"
#define OFS_RX 4
#define TR_ACCEL "Acc:"
#define TR_NODATA CENTER "NO DATA"
#define TR_TM1TM2 "TM1\037\146TM2"
#define TR_THRTHP "THR\037\146TH%"
#define TR_TOT "TOT"
#define TR_TOTTM1TM2THRTHP "\037\146TOT\036TM1\037\146TM2\036THR\037\146TH%"
#define TR_TMR1LATMAXUS "Tmr1Lat max\037\124us"
#define STR_US (STR_TMR1LATMAXUS+12)
#define TR_TMR1LATMINUS "Tmr1Lat min\037\124us"
@@ -689,14 +706,14 @@
#define TR_POT2TYPE "Typ S2"
#if defined(MAVLINK)
#define TR_MAVLINK_RC_RSSI_SCALE_LABEL "Max RSSI"
#define TR_MAVLINK_RC_RSSI_SCALE_LABEL "Maks RSSI"
#define TR_MAVLINK_PC_RSSI_EN_LABEL "PC RSSI EN"
#define TR_MAVMENUSETUP_TITLE "Ustawienia Mavlink"
#define TR_MAVLINK_BAUD_LABEL "Baudrate"
#define TR_MAVLINK_INFOS "INFO"
#define TR_MAVLINK_MODE "TRYB"
#define TR_MAVLINK_CUR_MODE "Aktualy Tryb"
#define TR_MAVLINK_ARMED "Armed"
#define TR_MAVLINK_ARMED "Aktywny"
#define TR_MAVLINK_BAT_MENU_TITLE "BAT RSSI"
#define TR_MAVLINK_BATTERY_LABEL "Status bateri"
#define TR_MAVLINK_RC_RSSI_LABEL "RC RSSI"
@@ -717,7 +734,7 @@
// Taranis column headers
#define TR_PHASES_HEADERS { " Nazwa ", " Przełącznik ", " Trymery ", " Pojawianie się ", " Zanikanie " }
#define TR_LIMITS_HEADERS { " Nazwa ", " Subtrim ", " Min ", " Max ", " Kierunek ", " Krzywa ", " Środek PPM ", " Tryb subtrim " }
#define TR_CSW_HEADERS { " Funkcja ", " Param. 1 ", " Param 2 ", " AND Przełącznik ", " Czas trwania ", " Opóźnienie " }
#define TR_CSW_HEADERS { " Funkcja ", " Param. 1 ", " Param 2 ", " Param 2 ", " AND Przełącznik ", " Czas trwania ", " Opóźnienie " }
//Taranis About screen
#define TR_ABOUTUS TR(" O ", " O")
@@ -770,7 +787,7 @@
#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_INPUT 'I' // Values between A-I will work
#define TR_BEEP_VOLUME "Głośność pikania"
#define TR_WAV_VOLUME "Głośność wav"
+50 -33
View File
@@ -35,7 +35,7 @@
*/
/* Formatting octal codes available in TR_ strings:
* \037\x -sets LCD x-coord (x value in octal)
* \036 -newline (ARM boards only)
* \036 -newline
* \001 to \035 -extended spacing (value * FW/2)
* \0 -ends actual string
*/
@@ -150,8 +150,25 @@
#define LEN_VMIXTRIMS "\003"
#define TR_VMIXTRIMS "OFF""ON\0""Lem""Pfd""Mot""Ail"
#if defined(PCBTARANIS)
#define TR_CSWTIMER "Timer"
#define TR_CSWSTICKY "Stcky"
#define TR_CSWRANGE "Range"
#define TR_CSWSTAY "Edge\0"
#else
#define TR_CSWTIMER "Tim\0 "
#define TR_CSWSTICKY "Glue\0"
#if defined(CPUARM)
#define TR_CSWRANGE "Rnge\0"
#define TR_CSWSTAY "Edge\0"
#else
#define TR_CSWRANGE
#define TR_CSWSTAY
#endif
#endif
#define LEN_VCSWFUNC "\005"
#define TR_VCSWFUNC "---\0 ""a{x\0 ""a>x\0 ""a<x\0 ""|a|>x""|a|<x""AND\0 ""OR\0 ""XOR\0 ""a=b\0 ""a>b\0 ""a<b\0 ""d}x\0 ""|d|}x""TIM\0"
#define TR_VCSWFUNC "---\0 ""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 ""d}x\0 ""|d|}x" TR_CSWTIMER TR_CSWSTICKY
#define LEN_VFSWFUNC "\015"
@@ -167,9 +184,7 @@
#define TR_SOUND "Beep\0 "
#endif
#if defined(PCBTARANIS)
#define TR_HAPTIC
#elif defined(HAPTIC)
#if defined(HAPTIC)
#define TR_HAPTIC "Vibrar\0 "
#else
#define TR_HAPTIC "[Vibrar]\0 "
@@ -189,7 +204,6 @@
#define TR_PLAY_VALUE "[Tocar Valor]"
#endif
#define TR_CFN_VOLUME "Volume\0 "
#define TR_CFN_BG_MUSIC "BgMusic\0 ""BgMusic ||\0 "
#if defined(SDCARD)
@@ -199,9 +213,9 @@
#endif
#ifdef GVARS
#define TR_CFN_ADJUST_GVAR "Ajuste\0 "
#define TR_ADJUST_GVAR "Ajuste\0 "
#else
#define TR_CFN_ADJUST_GVAR
#define TR_ADJUST_GVAR "[AdjustGV]\0 "
#endif
#ifdef DEBUG
@@ -211,11 +225,11 @@
#endif
#if defined(CPUARM)
#define TR_VFSWFUNC "Seguro\0 ""Aprendiz\0 ""Ajuste Rapido" TR_SOUND TR_HAPTIC "Reset\0 " TR_VVARIO TR_PLAY_TRACK TR_PLAY_VALUE TR_SDCLOGS TR_CFN_VOLUME "Backlight\0 " TR_CFN_BG_MUSIC TR_CFN_ADJUST_GVAR TR_CFN_TEST
#define TR_VFSWFUNC "Seguro\0 ""Aprendiz\0 ""Ajuste Rapido""Reset\0 " TR_ADJUST_GVAR "Volume\0 " TR_SOUND TR_PLAY_TRACK TR_PLAY_VALUE TR_CFN_BG_MUSIC TR_VVARIO TR_HAPTIC TR_SDCLOGS "Backlight\0 " TR_CFN_TEST
#elif defined(PCBGRUVIN9X)
#define TR_VFSWFUNC "Seguro\0 ""Aprendiz\0 ""Ajuste Rapido" TR_SOUND TR_HAPTIC "Reset\0 " TR_VVARIO TR_PLAY_TRACK TR_PLAY_BOTH TR_PLAY_VALUE TR_SDCLOGS "Backlight\0 " TR_CFN_ADJUST_GVAR TR_CFN_TEST
#define TR_VFSWFUNC "Seguro\0 ""Aprendiz\0 ""Ajuste Rapido""Reset\0 " TR_ADJUST_GVAR TR_SOUND TR_PLAY_TRACK TR_PLAY_BOTH TR_PLAY_VALUE TR_VVARIO TR_HAPTIC TR_SDCLOGS "Backlight\0 " TR_CFN_TEST
#else
#define TR_VFSWFUNC "Seguro\0 ""Aprendiz\0 ""Ajuste Rapido" TR_SOUND TR_HAPTIC "Reset\0 " TR_VVARIO TR_PLAY_TRACK TR_PLAY_BOTH TR_PLAY_VALUE "Backlight\0 " TR_CFN_ADJUST_GVAR TR_CFN_TEST
#define TR_VFSWFUNC "Seguro\0 ""Aprendiz\0 ""Ajuste Rapido""Reset\0 " TR_ADJUST_GVAR TR_SOUND TR_PLAY_TRACK TR_PLAY_BOTH TR_PLAY_VALUE "Backlight\0 " TR_CFN_TEST
#endif
#define LEN_VFSWRESET TR("\004", "\011")
@@ -304,7 +318,7 @@
#define TR_VSWASHTYPE "--- ""120 ""120X""140 ""90\0"
#define LEN_VKEYS "\005"
#define TR_VKEYS TR(" Menu"" Sair""Desce"" Sobe""Direi""Esqda", " Menu"" Exit""Enter"" Page"" Plus""Minus")
#define TR_VKEYS TR("Menu\0""Sair\0""Desce""Sobe\0""Direi""Esqda", "Menu\0""Exit\0""Enter""Page\0""Plus\0""Minus")
#define LEN_VRENCODERS "\003"
#define TR_VRENCODERS "REa""REb"
@@ -333,21 +347,26 @@
#define TR_CUSTOMSW "CE1""CE2""CE3""CE4""CE5""CE6""CE7""CE8""CE9""CEA""CEB""CEC"
#endif
#if defined(PCBTARANIS)
#define TR_6POS_POTS "P11""P12""P13""P14""P15""P16""P21""P22""P23""P24""P25""P26"
#define TR_VSWITCHES "SA\300""SA-""SA\301""SB\300""SB-""SB\301""SC\300""SC-""SC\301""SD\300""SD-""SD\301""SE\300""SE-""SE\301""SF\300""SF\301""SG\300""SG-""SG\301""SH\300""SH\301" TR_CUSTOMSW TR_6POS_POTS "1*\0"
#else
#define TR_VSWITCHES TR_9X_3POS_SWITCHES "THR""RUD""ELE""AIL""GEA""TRN" TR_CUSTOMSW "1*\0"
#endif
#define TR_TRIMS_SWITCHES "tRl""tRr""tEd""tEu""tTd""tTu""tAl""tAr"
#if defined(PCBSKY9X)
#define TR_ROTARY_ENCODERS_VSRCRAW "REnc"
#elif defined(PCBGRUVIN9X) && ROTARY_ENCODERS > 2
#define TR_ROTARY_ENCODERS_VSRCRAW "REa ""REb ""REc ""REd "
#elif defined(PCBGRUVIN9X) && ROTARY_ENCODERS <= 2
#define TR_ROTARY_ENCODERS_VSRCRAW "REa ""REb "
#define TR_ROTARY_ENCODERS "REa\0"
#define TR_ROTENC_SWITCHES "REa"
#elif defined(PCBGRUVIN9X) || defined(PCBMEGA2560)
#define TR_ROTARY_ENCODERS "REa\0""REb\0"
#define TR_ROTENC_SWITCHES "REa""REb"
#else
#define TR_ROTARY_ENCODERS_VSRCRAW
#define TR_ROTARY_ENCODERS
#define TR_ROTENC_SWITCHES
#endif
#if defined(PCBTARANIS)
#define TR_6POS_POTS "P11""P12""P13""P14""P15""P16""P21""P22""P23""P24""P25""P26"
#define TR_VSWITCHES "SA\300""SA-""SA\301""SB\300""SB-""SB\301""SC\300""SC-""SC\301""SD\300""SD-""SD\301""SE\300""SE-""SE\301""SF\300""SF\301""SG\300""SG-""SG\301""SH\300""SH\301" TR_6POS_POTS TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_CUSTOMSW
#elif defined(CPUARM)
#define TR_VSWITCHES TR_9X_3POS_SWITCHES "THR""RUD""ELE""AIL""GEA""TRN" TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_CUSTOMSW
#else
#define TR_VSWITCHES TR_9X_3POS_SWITCHES "THR""RUD""ELE""AIL""GEA""TRN" TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_CUSTOMSW
#endif
#if defined(HELI)
@@ -356,7 +375,7 @@
#define TR_CYC_VSRCRAW "[C1]""[C2]""[C3]"
#endif
#define TR_VSRCRAW "---\0""Lem\0""Pfd\0""Mot\0""Ail\0" TR_POTS_VSRCRAW TR_ROTARY_ENCODERS_VSRCRAW "MAX\0" TR_CYC_VSRCRAW "TrmL" "TrmP" "TrmM" "TrmA" TR_SW_VSRCRAW
#define TR_VSRCRAW "---\0""Lem\0""Pfd\0""Mot\0""Ail\0" TR_POTS_VSRCRAW TR_ROTARY_ENCODERS "MAX\0" TR_CYC_VSRCRAW "TrmL" "TrmP" "TrmM" "TrmA" TR_SW_VSRCRAW
#define LEN_VTMRMODES "\003"
#define TR_VTMRMODES "OFF""ABS""MTs""MT%""MTt"
@@ -495,17 +514,15 @@
#define TR_CAL "Cal"
#define TR_VTRIM "Trim- +"
#define TR_BG "BG:"
#define TR_MENUTOSTART CENTER"\006" TR_ENTER " INICIAR"
#define TR_SETMIDPOINT CENTER"\005CENTRAR STICK/POT"
#define TR_MOVESTICKSPOTS CENTER"\005MOVER STICKS/POTs"
#define TR_MENUTOSTART CENTER"\011" TR_ENTER " INICIAR"
#define TR_SETMIDPOINT TR(CENTER"\005CENTRAR STICK/POT",CENTER"\006CENTRAR STICK/POT")
#define TR_MOVESTICKSPOTS TR(CENTER"\005MOVER STICKS/POTs",CENTER"\006MOVER STICKS/POTs")
#define TR_RXBATT "Rx Batt:"
#define TR_TXnRX "Tx:\0Rx:"
#define OFS_RX 4
#define TR_ACCEL "Acc:"
#define TR_NODATA CENTER"SEM DADOS"
#define TR_TM1TM2 "TM1\037\146TM2"
#define TR_THRTHP "THR\037\146TH%"
#define TR_TOT "TOT"
#define TR_TOTTM1TM2THRTHP "\037\146TOT\036TM1\037\146TM2\036THR\037\146TH%"
#define TR_TMR1LATMAXUS "Tmr1Lat max\037\124us"
#define STR_US (STR_TMR1LATMAXUS+13)
#define TR_TMR1LATMINUS "Tmr1Lat min\037\124us"
@@ -717,7 +734,7 @@
// Taranis column headers
#define TR_PHASES_HEADERS { " Name ", " Switch ", " Trims ", " Fade In ", " Fade Out " }
#define TR_LIMITS_HEADERS { " Name ", " Offset ", " Min ", " Max ", " Direction ", " Curve ", " PPM Center ", " Symmetrical " }
#define TR_CSW_HEADERS { " Function ", " V1 ", " V2 ", " AND Switch ", " Duration ", " Delay " }
#define TR_CSW_HEADERS { " Function ", " V1 ", " V2 ", " V2 ", " AND Switch ", " Duration ", " Delay " }
//Taranis About screen
#define TR_ABOUTUS "ABOUT US"
@@ -770,7 +787,7 @@
#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_INPUT 'I' // Values between A-I will work
#define TR_BEEP_VOLUME "Beep Volume"
#define TR_WAV_VOLUME "Wav Volume"
+53 -36
View File
@@ -35,7 +35,7 @@
*/
/* Formatting octal codes available in TR_ strings:
* \037\x -sets LCD x-coord (x value in octal)
* \036 -newline (ARM boards only)
* \036 -newline
* \001 to \035 -extended spacing (value * FW/2)
* \0 -ends actual string
*/
@@ -150,8 +150,25 @@
#define LEN_VMIXTRIMS "\003"
#define TR_VMIXTRIMS "Av\0""På\0""Rod""Hjd""Gas""Ske"
#if defined(PCBTARANIS)
#define TR_CSWTIMER "Timer"
#define TR_CSWSTICKY "Stcky"
#define TR_CSWRANGE "Range"
#define TR_CSWSTAY "Edge\0"
#else
#define TR_CSWTIMER "Tim\0 "
#define TR_CSWSTICKY "Glue\0"
#if defined(CPUARM)
#define TR_CSWRANGE "Rnge\0"
#define TR_CSWSTAY "Edge\0"
#else
#define TR_CSWRANGE
#define TR_CSWSTAY
#endif
#endif
#define LEN_VCSWFUNC "\005"
#define TR_VCSWFUNC "---\0 ""a{x\0 ""a>x\0 ""a<x\0 ""|a|>x""|a|<x""AND\0 ""OR\0 ""XOR\0 ""a=b\0 ""a>b\0 ""a<b\0 ""d}x\0 ""|d|}x""TIM\0"
#define TR_VCSWFUNC "---\0 ""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 ""d}x\0 ""|d|}x" TR_CSWTIMER TR_CSWSTICKY
#define LEN_VFSWFUNC "\012"
@@ -167,9 +184,7 @@
#define TR_SOUND "Pip\0 "
#endif
#if defined(PCBTARANIS)
#define TR_HAPTIC
#elif defined(HAPTIC)
#if defined(HAPTIC)
#define TR_HAPTIC "Vibrator\0 "
#else
#define TR_HAPTIC "[Vibrator]"
@@ -189,7 +204,6 @@
#define TR_PLAY_VALUE "[Sp. Värd]"
#endif
#define TR_CFN_VOLUME "Volym\0 "
#define TR_CFN_BG_MUSIC "BgMusik\0 ""BgMusik ||"
#if defined(SDCARD)
@@ -199,9 +213,9 @@
#endif
#ifdef GVARS
#define TR_CFN_ADJUST_GVAR "Justera\0 "
#define TR_ADJUST_GVAR "Justera\0 "
#else
#define TR_CFN_ADJUST_GVAR
#define TR_ADJUST_GVAR "[AdjustGV]"
#endif
#ifdef DEBUG
@@ -211,11 +225,11 @@
#endif
#if defined(CPUARM)
#define TR_VFSWFUNC "Säkra\0 ""Trainer\0 ""Sätt Trim\0" TR_SOUND TR_HAPTIC "Nollställ\0" TR_VVARIO TR_PLAY_TRACK TR_PLAY_VALUE TR_SDCLOGS TR_CFN_VOLUME "Belysning\0" TR_CFN_BG_MUSIC TR_CFN_ADJUST_GVAR TR_CFN_TEST
#define TR_VFSWFUNC "Säkra\0 ""Trainer\0 ""Sätt Trim\0""Nollställ\0" TR_ADJUST_GVAR "Volym\0 " TR_SOUND TR_PLAY_TRACK TR_PLAY_VALUE TR_CFN_BG_MUSIC TR_VVARIO TR_HAPTIC TR_SDCLOGS "Belysning\0" TR_CFN_TEST
#elif defined(PCBGRUVIN9X)
#define TR_VFSWFUNC "Säkra\0 ""Trainer\0 ""Sätt Trim\0" TR_SOUND TR_HAPTIC "Nollställ\0" TR_VVARIO TR_PLAY_TRACK TR_PLAY_BOTH TR_PLAY_VALUE TR_SDCLOGS "Belysning\0" TR_CFN_ADJUST_GVAR TR_CFN_TEST
#define TR_VFSWFUNC "Säkra\0 ""Trainer\0 ""Sätt Trim\0""Nollställ\0" TR_ADJUST_GVAR TR_SOUND TR_PLAY_TRACK TR_PLAY_BOTH TR_PLAY_VALUE TR_VVARIO TR_HAPTIC TR_SDCLOGS "Belysning\0" TR_CFN_TEST
#else
#define TR_VFSWFUNC "Säkra\0 ""Trainer\0 ""Sätt Trim\0" TR_SOUND TR_HAPTIC "Nollställ\0" TR_VVARIO TR_PLAY_TRACK TR_PLAY_BOTH TR_PLAY_VALUE "Belysning\0" TR_CFN_ADJUST_GVAR TR_CFN_TEST
#define TR_VFSWFUNC "Säkra\0 ""Trainer\0 ""Sätt Trim\0""Nollställ\0" TR_ADJUST_GVAR TR_SOUND TR_PLAY_TRACK TR_PLAY_BOTH TR_PLAY_VALUE TR_VVARIO TR_HAPTIC "Belysning\0" TR_CFN_TEST
#endif
#define LEN_VFSWRESET TR("\004", "\011")
@@ -304,7 +318,7 @@
#define TR_VSWASHTYPE "--- ""120 ""120X""140 ""90\0"
#define LEN_VKEYS "\005"
#define TR_VKEYS TR(" Menu"" Exit"" Ned"" Upp""Höger""Vänst", " Menu"" Exit""Enter"" Page"" Plus""Minus")
#define TR_VKEYS TR("Menu\0""Exit\0""Ned\0 ""Upp\0 ""Höger""Vänst", "Menu\0""Exit\0""Enter""Page\0""Plus\0""Minus")
#define LEN_VRENCODERS "\003"
#define TR_VRENCODERS "REa""REb"
@@ -333,21 +347,26 @@
#define TR_CUSTOMSW "LB1""LB2""LB3""LB4""LB5""LB6""LB7""LB8""LB9""LBA""LBB""LBC"
#endif
#if defined(PCBTARANIS)
#define TR_6POS_POTS "P11""P12""P13""P14""P15""P16""P21""P22""P23""P24""P25""P26"
#define TR_VSWITCHES "SA\300""SA-""SA\301""SB\300""SB-""SB\301""SC\300""SC-""SC\301""SD\300""SD-""SD\301""SE\300""SE-""SE\301""SF\300""SF\301""SG\300""SG-""SG\301""SH\300""SH\301" TR_CUSTOMSW TR_6POS_POTS "One"
#else
#define TR_VSWITCHES TR_9X_3POS_SWITCHES "THR""RUD""ELE""AIL""GEA""TRN" TR_CUSTOMSW "One"
#endif
#define TR_TRIMS_SWITCHES "tRl""tRr""tEd""tEu""tTd""tTu""tAl""tAr"
#if defined(PCBSKY9X)
#define TR_ROTARY_ENCODERS_VSRCRAW "REnc"
#elif defined(PCBGRUVIN9X) && ROTARY_ENCODERS > 2
#define TR_ROTARY_ENCODERS_VSRCRAW "REa ""REb ""REc ""REd "
#elif defined(PCBGRUVIN9X) && ROTARY_ENCODERS <= 2
#define TR_ROTARY_ENCODERS_VSRCRAW "REa ""REb "
#define TR_ROTARY_ENCODERS "REa\0"
#define TR_ROTENC_SWITCHES "REa"
#elif defined(PCBGRUVIN9X) || defined(PCBMEGA2560)
#define TR_ROTARY_ENCODERS "REa\0""REb\0"
#define TR_ROTENC_SWITCHES "REa""REb"
#else
#define TR_ROTARY_ENCODERS_VSRCRAW
#define TR_ROTARY_ENCODERS
#define TR_ROTENC_SWITCHES
#endif
#if defined(PCBTARANIS)
#define TR_6POS_POTS "P11""P12""P13""P14""P15""P16""P21""P22""P23""P24""P25""P26"
#define TR_VSWITCHES "SA\300""SA-""SA\301""SB\300""SB-""SB\301""SC\300""SC-""SC\301""SD\300""SD-""SD\301""SE\300""SE-""SE\301""SF\300""SF\301""SG\300""SG-""SG\301""SH\300""SH\301" TR_6POS_POTS TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_CUSTOMSW
#elif defined(CPUARM)
#define TR_VSWITCHES TR_9X_3POS_SWITCHES "THR""RUD""ELE""AIL""GEA""TRN" TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_CUSTOMSW
#else
#define TR_VSWITCHES TR_9X_3POS_SWITCHES "THR""RUD""ELE""AIL""GEA""TRN" TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_CUSTOMSW
#endif
#if defined(HELI)
@@ -356,13 +375,13 @@
#define TR_CYC_VSRCRAW "[C1]""[C2]""[C3]"
#endif
#define TR_VSRCRAW "---\0""Rod\0""Höj\0""Gas\0""Ske\0" TR_POTS_VSRCRAW TR_ROTARY_ENCODERS_VSRCRAW "MAX " TR_CYC_VSRCRAW "TrmR" "TrmH" "TrmG" "TrmS" TR_SW_VSRCRAW
#define TR_VSRCRAW "---\0""Rod\0""Höj\0""Gas\0""Ske\0" TR_POTS_VSRCRAW TR_ROTARY_ENCODER "MAX " TR_CYC_VSRCRAW "TrmR" "TrmH" "TrmG" "TrmS" TR_SW_VSRCRAW
#define LEN_VTMRMODES "\003"
#define TR_VTMRMODES "Av\0""ABS""GAs""GA%""GAt"
#define LEN_VTRAINERMODES "\006"
#define TR_VTRAINERMODES "Master""Slav\0."
#define TR_VTRAINERMODES "Lärare""Elev\0."
#define LEN_VFAILSAFE "\011"
#define TR_VFAILSAFE "Håll\0 ""Special\0 ""Pulsfritt"
@@ -390,7 +409,7 @@
#define TR_POPUPS TR_ENTER"\010[EXIT]"
#define OFS_EXIT sizeof(TR_ENTER)
#define TR_MENUWHENDONE CENTER "\006" TR_ENTER " Avslutar "
#define TR_MENUWHENDONE CENTER "\011" TR_ENTER " Avslutar "
#define TR_FREE "kvar"
#define TR_DELETEMODEL "Radera Modell"
#define TR_COPYINGMODEL "Kopierar Modell "
@@ -489,23 +508,21 @@
#define TR_POTWARNING TR("Pot Warn.","Pot Warning")
#define TR_TIMEZONE TR("Tidszon","GPS Tidszon")
#define TR_RXCHANNELORD "Kanaler i RX"
#define TR_SLAVE "Slav"
#define TR_SLAVE "Elev"
#define TR_MODESRC " Läge\004% Källa"
#define TR_MULTIPLIER "Styrka"
#define TR_CAL "Kalib."
#define TR_VTRIM "Trim- +"
#define TR_BG "BG:"
#define TR_MENUTOSTART CENTER "\006" TR_ENTER " Startar "
#define TR_SETMIDPOINT CENTER "\010Centrera Allt"
#define TR_MOVESTICKSPOTS CENTER "\004Rör Rattar/Spakar"
#define TR_MENUTOSTART CENTER "\011" TR_ENTER " Startar "
#define TR_SETMIDPOINT TR(CENTER "\012Centrera Allt",CENTER "\013Centrera Allt")
#define TR_MOVESTICKSPOTS TR(CENTER "\005Rör Rattar/Spakar",CENTER "\006Rör Rattar/Spakar")
#define TR_RXBATT "Rx Batt:"
#define TR_TXnRX "Tx:\0Rx:"
#define OFS_RX 4
#define TR_ACCEL "Acc:"
#define TR_NODATA CENTER "NO DATA"
#define TR_TM1TM2 "TM1\037\146TM2"
#define TR_THRTHP "THR\037\146TH%"
#define TR_TOT "TOT"
#define TR_TOTTM1TM2THRTHP "\037\146TOT\036TM1\037\146TM2\036THR\037\146TH%"
#define TR_TMR1LATMAXUS "Tmr1Lat max\037\124us"
#define STR_US (STR_TMR1LATMAXUS+13)
#define TR_TMR1LATMINUS "Tmr1Lat min\037\124us"
@@ -549,7 +566,7 @@
#define TR_MENUHELISETUP "Helikopter"
#if defined(PCBTARANIS)
#define TR_MENUINPUTS "Filter"
#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"
@@ -717,7 +734,7 @@
// Taranis column headers
#define TR_PHASES_HEADERS { " Namn ", " Brytare ", " Trimmar ", " Tona Upp ", " Tona Ned " }
#define TR_LIMITS_HEADERS { " Namn ", " Offset ", " Min ", " Max ", " Riktning ", " PPM-centrum ", " Symmetriskt " }
#define TR_CSW_HEADERS { " Funktion ", " V1 ", " V2 ", " AND Brytare ", " Tidslängd ", " Fördröj " }
#define TR_CSW_HEADERS { " Funktion ", " V1 ", " V2 ", " V2 ", " AND Brytare ", " Tidslängd ", " Fördröj " }
// About screen
#define TR_ABOUTUS "Om Oss"