[all] SafetyCH and General Menu fixes

[stock] Flash saving again
This commit is contained in:
bsongis
2013-03-07 18:26:19 +00:00
parent 204014c8c2
commit 53315d0132
19 changed files with 56 additions and 75 deletions
+15 -25
View File
@@ -1061,7 +1061,8 @@ void putsTelemetryChannel(xcoord_t x, uint8_t y, uint8_t channel, lcdint_t val,
switch (channel) {
case TELEM_TM1-1:
case TELEM_TM2-1:
putsTime(x-3*FW, y, val, att, att);
att &= ~NO_UNIT;
putsTime(x, y, val, att, att);
break;
case TELEM_MIN_A1-1:
case TELEM_MIN_A2-1:
@@ -1362,11 +1363,11 @@ void menuTelemetryFrsky(uint8_t event)
for (uint8_t j=0; j<NUM_LINE_ITEMS; j++) {
uint8_t field = screen.lines[i].sources[j];
if (i==3 && j==0) {
#if !defined(PCBX9D)
lcd_vline(63, 8, 48);
#else
#if LCD_W >= 212
lcd_vline(69, 8, 48);
lcd_vline(141, 8, 48);
#else
lcd_vline(63, 8, 48);
#endif
if (frskyStreaming > 0) {
#if defined(FRSKY_HUB)
@@ -1392,30 +1393,19 @@ void menuTelemetryFrsky(uint8_t event)
fields_count++;
int16_t value = getValue(MIXSRC_FIRST_TELEM+field-2);
uint8_t att = (i==3 ? NO_UNIT : DBLSIZE|NO_UNIT);
#if defined(PCBX9D)
xcoord_t pos_main[]={23, 95, 166};
xcoord_t pos_footer[]={43, 115, 186};
xcoord_t pos[]={0, 69, 141, 212};
#if LCD_W >= 212
xcoord_t pos[] = {0, 71, 143, 214};
#else
xcoord_t pos_main[]={17, 82};
xcoord_t pos_footer[]={37, 102};
xcoord_t pos[]={0, 63, 128};
xcoord_t pos[] = {0, 65, 130};
#endif
if (field >= TELEM_TM1 && field <= TELEM_TM2) {
xcoord_t x = (i==3 ? pos_footer[j] : pos_main[j]);
putsTime(x, 1+FH+2*FH*i, value, att, att);
#if defined(PCBX9D)
lcd_putsiAtt(j?pos[j]+2:0, 1+FH+2*FH*i, STR_VTELEMCHNS, field, SMLSIZE);
#else
lcd_putsiAtt(j?pos[j]+2:0, 1+FH+2*FH*i, STR_VTELEMCHNS, field-TELEM_TM1+TELEM_T1, 0);
putsTelemetryChannel(pos[j+1]-2, 1+FH+2*FH*i, field-1, value, att);
#if LCD_W < 212
if (field >= TELEM_TM1 && field <= TELEM_TM2 && i!=3) {
// there is not enough space on LCD for displaying "Tmr1" or "Tmr2", we write "T1" or "T2" instead
field = field-TELEM_TM1+TELEM_T1;
}
#endif
if(i==3)
lcd_putsiAtt(j?pos[j]+2:0, 1+FH+2*FH*i, STR_VTELEMCHNS, field, 0);
}
else {
putsTelemetryChannel(pos[j+1], i==3 ? 1+7*FH : 1+2*FH+2*FH*i, field-1, value, att);
lcd_putsiAtt(j?pos[j]+2:0, 1+FH+2*FH*i, STR_VTELEMCHNS, field, 0);
}
lcd_putsiAtt(pos[j], 1+FH+2*FH*i, STR_VTELEMCHNS, field, 0);
}
}
}
+1 -6
View File
@@ -135,7 +135,6 @@ enum menuGeneralSetupItems {
ITEM_SETUP_ALARM_WARNING,
IF_ROTARY_ENCODERS(ITEM_SETUP_RE_NAVIGATION)
ITEM_SETUP_THROTTLE_REVERSED,
ITEM_SETUP_BEEP_LABEL,
ITEM_SETUP_BACKLIGHT_LABEL,
ITEM_SETUP_BACKLIGHT_MODE,
ITEM_SETUP_BACKLIGHT_DELAY,
@@ -165,7 +164,7 @@ void menuGeneralSetup(uint8_t event)
}
#endif
MENU(STR_MENURADIOSETUP, menuTabDiag, e_Setup, ITEM_SETUP_MAX+1, {0, IF_RTCLOCK(2) IF_RTCLOCK(2) IF_BATTGRAPH(1) LABEL(SOUND), 0, 0, IF_AUDIO(0) IF_VOICE(0) IF_HAPTIC(LABEL(HAPTIC)) IF_HAPTIC(0) IF_HAPTIC(0) IF_HAPTIC(0) IF_PCBSKY9X(0) IF_9X(0) LABEL(ALARMS), 0, IF_PCBSKY9X(0) IF_CPUARM(0) 0, 0, 0, IF_ROTARY_ENCODERS(0) 0, LABEL(TIMER_EVENTS), 0, 0, LABEL(BACKLIGHT), 0, 0, CASE_PWM_BACKLIGHT(0) CASE_PWM_BACKLIGHT(0) 0, IF_SPLASH(0) IF_FRSKY(0) IF_FRSKY(0) 0, LABEL(TX_MODE), CASE_PCBX9D(0) 1/*to force edit mode*/});
MENU(STR_MENURADIOSETUP, menuTabDiag, e_Setup, ITEM_SETUP_MAX+1, {0, IF_RTCLOCK(2) IF_RTCLOCK(2) IF_BATTGRAPH(1) LABEL(SOUND), 0, 0, IF_AUDIO(0) IF_VOICE(0) IF_HAPTIC(LABEL(HAPTIC)) IF_HAPTIC(0) IF_HAPTIC(0) IF_HAPTIC(0) IF_PCBSKY9X(0) IF_9X(0) LABEL(ALARMS), 0, IF_PCBSKY9X(0) IF_CPUARM(0) 0, 0, 0, IF_ROTARY_ENCODERS(0) 0, LABEL(BACKLIGHT), 0, 0, CASE_PWM_BACKLIGHT(0) CASE_PWM_BACKLIGHT(0) 0, IF_SPLASH(0) IF_FRSKY(0) IF_FRSKY(0) 0, LABEL(TX_MODE), CASE_PCBX9D(0) 1/*to force edit mode*/});
uint8_t sub = m_posVert - 1;
@@ -392,10 +391,6 @@ void menuGeneralSetup(uint8_t event)
break;
#endif
case ITEM_SETUP_BEEP_LABEL:
lcd_putsLeft(y, STR_BEEP_LABEL);
break;
case ITEM_SETUP_THROTTLE_REVERSED:
g_eeGeneral.throttleReversed = onoffMenuItem(g_eeGeneral.throttleReversed, RADIO_SETUP_2ND_COLUMN, y, STR_THROTTLEREVERSE, attr, event ) ;
break;
+18 -11
View File
@@ -671,7 +671,7 @@ void lcd_invert_line(int8_t y)
}
}
#if !defined(PCBX9D)
#if !defined(PCBX9D) // TODO test inversion
void lcdDrawTelemetryTopBar()
{
putsModelName(0, 0, g_model.name, g_eeGeneral.currModel, 0);
@@ -679,7 +679,7 @@ void lcdDrawTelemetryTopBar()
putsVBat(14*FW,0,att);
if (g_model.timers[0].mode) {
att = (s_timerState[0]==TMR_BEEPING ? BLINK : 0);
putsTime(17*FW, 0, s_timerVal[0], att, att);
putsTime(17*FW+5*FWNUM+1, 0, s_timerVal[0], att, att);
}
lcd_invert_line(0);
}
@@ -691,13 +691,13 @@ void lcdDrawTelemetryTopBar()
putsVBat(16*FW+2,0,att);
if (g_model.timers[0].mode) {
att = (s_timerState[0]==TMR_BEEPING ? BLINK : 0);
putsTime(22*FW, 0, s_timerVal[0], att, att);
lcd_putsiAtt(18*FW+2, 1, STR_VTELEMCHNS, TELEM_TM1, SMLSIZE);
putsTime(22*FW+5*FWNUM+1, 0, s_timerVal[0], att, att);
lcd_putsiAtt(18*FW+2, 1, STR_VTELEMCHNS, TELEM_TM1, SMLSIZE);
}
if (g_model.timers[1].mode) {
att = (s_timerState[1]==TMR_BEEPING ? BLINK : 0);
putsTime(31*FW, 0, s_timerVal[1], att, att);
lcd_putsiAtt(27*FW+2, 1, STR_VTELEMCHNS, TELEM_TM2, SMLSIZE);
putsTime(31*FW+5*FWNUM+1, 0, s_timerVal[1], att, att);
lcd_putsiAtt(27*FW+2, 1, STR_VTELEMCHNS, TELEM_TM2, SMLSIZE);
}
lcd_invert_line(0);
}
@@ -707,9 +707,16 @@ void putsTime(xcoord_t x, uint8_t y, putstime_t tme, LcdFlags att, LcdFlags att2
{
div_t qr;
if (att & LEFT) x+=3*FW;
if (!(att & LEFT)) {
if (att & DBLSIZE)
x -= 5*(2*FWNUM)-4;
else if (att & MIDSIZE)
x -= 5*8-4;
else
x -= 5*FWNUM+1;
}
if (tme<0) {
if (tme < 0) {
lcd_putcAtt(x - ((att & DBLSIZE) ? FW+3 : ((att & MIDSIZE) ? FW+1 : FWNUM)), y, '-', att);
tme = -tme;
}
@@ -735,11 +742,11 @@ void putsTime(xcoord_t x, uint8_t y, putstime_t tme, LcdFlags att, LcdFlags att2
#endif
uint8_t x2, x3;
if (att&DBLSIZE) {
if (att & DBLSIZE) {
x2 = x+2*(FW+FWNUM)-3;
x3 = x+2*(FW+FWNUM)+FW-2;
}
else if (att&MIDSIZE) {
else if (att & MIDSIZE) {
x2 = x+2*8-6;
x3 = x+2*8+1;
}
@@ -749,7 +756,7 @@ void putsTime(xcoord_t x, uint8_t y, putstime_t tme, LcdFlags att, LcdFlags att2
}
#if defined(CPUARM)
if (att&MIDSIZE) {
if (att & MIDSIZE) {
LCD_2DOTS(x2, y, att);
}
else
+4 -4
View File
@@ -194,7 +194,7 @@ void displayTimers()
{
// Main timer
if (g_model.timers[0].mode) {
putsTime(TIMERS_X, TIMER1_Y, s_timerVal[0], MIDSIZE, MIDSIZE);
putsTime(TIMERS_X, TIMER1_Y, s_timerVal[0], MIDSIZE|LEFT, MIDSIZE|LEFT);
putsTmrMode(TIMERS_X-16, TIMER1_Y+5, g_model.timers[0].mode, SWCONDENSED|SMLSIZE);
if (g_model.timers[0].persistent) lcd_putcAtt(TIMERS_R, TIMER1_Y+1, 'P', SMLSIZE);
if (s_timerVal[0] < 0) lcd_hline(TIMERS_X-6, TIMER1_Y+2, 4);
@@ -202,7 +202,7 @@ void displayTimers()
// Second timer
if (g_model.timers[1].mode) {
putsTime(TIMERS_X, TIMER2_Y, s_timerVal[1], MIDSIZE, MIDSIZE);
putsTime(TIMERS_X, TIMER2_Y, s_timerVal[1], MIDSIZE|LEFT, MIDSIZE|LEFT);
putsTmrMode(TIMERS_X-16, TIMER2_Y+5, g_model.timers[1].mode, SWCONDENSED|SMLSIZE);
if (g_model.timers[1].persistent) lcd_putcAtt(TIMERS_R, TIMER2_Y+1, 'P', SMLSIZE);
if (s_timerVal[1] < 0) lcd_hline(TIMERS_X-6, TIMER2_Y+2, 4);
@@ -226,7 +226,7 @@ void displayTimers()
// Main timer
if (g_model.timers[0].mode) {
uint8_t att = DBLSIZE | (s_timerState[0]==TMR_BEEPING ? BLINK|INVERS : 0);
putsTime(12*FW+2, FH*2, s_timerVal[0], att, att);
putsTime(12*FW+2+10*FWNUM-4, FH*2, s_timerVal[0], att, att);
putsTmrMode(s_timerVal[0] >= 0 ? 9*FW-FW/2+3 : 9*FW-FW/2-4, FH*3, g_model.timers[0].mode, SWCONDENSED);
}
}
@@ -620,7 +620,7 @@ void menuMainView(uint8_t event)
}
}
else { // timer2
putsTime(33+FW+2, FH*5, s_timerVal[1], DBLSIZE, DBLSIZE);
putsTime(33+FW+2+10*FWNUM-4, FH*5, s_timerVal[1], DBLSIZE, DBLSIZE);
putsTmrMode(s_timerVal[1] >= 0 ? 20-FW/2+5 : 20-FW/2-2, FH*6, g_model.timers[1].mode, SWCONDENSED);
// lcd_outdezNAtt(33+11*FW, FH*6, s_timerVal_10ms[1], LEADING0, 2); // 1/100s
}
+8 -9
View File
@@ -834,7 +834,7 @@ void menuModelSetup(uint8_t event)
else {
putsStrIdx(0*FW, y, STR_TIMER, k>=ITEM_MODEL_TIMER2 ? 2 : 1);
putsTmrMode(MODEL_SETUP_2ND_COLUMN, y, timer->mode, m_posHorz==0 ? attr : 0);
putsTime(MODEL_SETUP_2ND_COLUMN+5*FW-2, y, timer->start, m_posHorz==1 ? attr : 0, m_posHorz==2 ? attr : 0);
putsTime(MODEL_SETUP_2ND_COLUMN+5*FW-2+5*FWNUM+1, y, timer->start, m_posHorz==1 ? attr : 0, m_posHorz==2 ? attr : 0);
if (attr && (editMode>0 || p1valdiff)) {
div_t qr = div(timer->start, 60);
switch (m_posHorz) {
@@ -3515,6 +3515,7 @@ void menuModelCustomFunctions(uint8_t event)
#endif
) {
switch (CFN_GVAR_MODE(sd)) {
// TODO constants
case 0:
val_displayed = (int8_t)CFN_PARAM(sd);
val_min = -125; val_max = 125;
@@ -3955,17 +3956,15 @@ void menuModelTelemetry(uint8_t event)
}
else {
for (uint8_t c=0; c<NUM_LINE_ITEMS; c++) {
uint8_t cellAttr = (m_posHorz==c ? attr : 0);
uint8_t & value = g_model.frsky.screens[screenIndex].lines[lineIndex].sources[c];
uint8_t pos;
switch(c){
case 0: pos = INDENT_WIDTH; break;
case 1: pos = TELEM_COL2; break;
#if defined(PCBX9D)
case 2: pos = TELEM_COL3; break;
uint8_t pos[] = {INDENT_WIDTH, TELEM_COL2, TELEM_COL3};
#else
uint8_t pos[] = {INDENT_WIDTH, TELEM_COL2};
#endif
}
lcd_putsiAtt(pos, y, STR_VTELEMCHNS, value, m_posHorz==c ? attr : 0);
if (attr && m_posHorz==c && (s_editMode>0 || p1valdiff)) {
lcd_putsiAtt(pos[c], y, STR_VTELEMCHNS, value, cellAttr);
if (cellAttr && (s_editMode>0 || p1valdiff)) {
CHECK_INCDEC_MODELVAR_ZERO(event, value, g_model.frsky.usrProto ? ((lineIndex==3 && c==0) ? TELEM_STATUS_MAX : TELEM_DISPLAY_MAX) : TELEM_NOUSR_MAX);
}
}
+1 -1
View File
@@ -477,7 +477,7 @@ void menuTelemetryNMEA1(uint8_t event)
if ((show_timer == 1) && rbuf[0][0]) { // show the Timer when data have been received
lcd_puts ( 2*FW, 4*FH, PSTR("Timer")); // display "Timer"
putsTime ( 5*FW, 5*FH, (gpstime-gpstimer), DBLSIZE, DBLSIZE); // display difference as mm:ss
putsTime+5*FWNUM+1 ( 5*FW, 5*FH, (gpstime-gpstimer), DBLSIZE, DBLSIZE); // display difference as mm:ss
}
else
{
+2 -2
View File
@@ -1211,7 +1211,7 @@ void putsTelemetryValue(xcoord_t x, uint8_t y, lcdint_t val, uint8_t unit, uint8
val = (val * 46) / 25;
}
#endif
lcd_outdezAtt(x, (att & DBLSIZE ? y - FH : y), val, att & (~NO_UNIT));
lcd_outdezAtt(x, y, val, att & (~NO_UNIT));
if (!(att & NO_UNIT) && unit != UNIT_RAW)
lcd_putsiAtt(lcdLastPos/*+1*/, y, STR_VTELEMUNIT, unit, 0);
}
@@ -2204,7 +2204,7 @@ void evalFunctions()
if (active || momentary) {
if (CFN_ACTIVE(sd)) {
if (CFN_FUNC(sd) < FUNC_TRAINER) {
safetyCh[CFN_FUNC(sd)] = CFN_CH_NUMBER(sd);
safetyCh[CFN_CH_NUMBER(sd)] = CFN_PARAM(sd);
}
if (!(activeFunctions & function_mask)) {
+1 -1
View File
@@ -69,7 +69,7 @@ void animRotarySw(uint8_t x) {
if (s_timerState[0] != TMR_OFF) {
att1 = DBLSIZE | (s_timerState[0] == TMR_BEEPING ? BLINK : 0);
putsTime(x + 14 * FW - 2, FH * 2, s_timerVal[0], att1, att1);
putsTime(x + 14 * FW - 2+5*FWNUM+1, FH * 2, s_timerVal[0], att1, att1);
}
s_time = s_time >> 4; // 1280ms time unit
+6 -6
View File
@@ -52,15 +52,15 @@ void menuStatisticsView(uint8_t event)
}
lcd_puts( 1*FW, FH*1, STR_TM1TM2);
putsTime( 5*FW, FH*1, s_timerVal[0], 0, 0);
putsTime( 12*FW, FH*1, s_timerVal[1], 0, 0);
putsTime( 5*FW+5*FWNUM+1, FH*1, s_timerVal[0], 0, 0);
putsTime( 12*FW+5*FWNUM+1, FH*1, s_timerVal[1], 0, 0);
lcd_puts( 1*FW, FH*2, STR_THRTHP);
putsTime( 5*FW, FH*2, s_timeCumThr, 0, 0);
putsTime( 12*FW, FH*2, s_timeCum16ThrP/16, 0, 0);
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, FH*0, s_timeCumTot, 0, 0);
putsTime( 12*FW+5*FWNUM+1, FH*0, s_timeCumTot, 0, 0);
#if defined(THRTRACE)
uint8_t traceRd = (s_traceCnt < 0 ? s_traceWr : 0);
@@ -131,7 +131,7 @@ void menuStatisticsDebug(uint8_t event)
lcd_putsLeft(2*FH, STR_CPU_MAH);
putsTelemetryValue(MENU_DEBUG_COL_OFS, 2*FH, g_eeGeneral.mAhUsed + Current_used*current_scale/8192/36, UNIT_MAH, PREC1);
putsTime(17*FW, 2*FH, g_eeGeneral.globalTimer + sessionTimer, 0, 0);
putsTime(17*FW+5*FWNUM+1, 2*FH, g_eeGeneral.globalTimer + sessionTimer, 0, 0);
#endif
#if defined(CPUARM)
-1
View File
@@ -183,7 +183,6 @@ const pm_char STR_ALARMWARNING[] PROGMEM = TR_ALARMWARNING;
const pm_char STR_RENAVIG[] PROGMEM = TR_RENAVIG;
#endif
const pm_char STR_THROTTLEREVERSE[] PROGMEM = TR_THROTTLEREVERSE;
const pm_char STR_BEEP_LABEL[] PROGMEM = TR_BEEP_LABEL;
const pm_char STR_MINUTEBEEP[] PROGMEM = TR_MINUTEBEEP;
const pm_char STR_BEEPCOUNTDOWN[] PROGMEM = TR_BEEPCOUNTDOWN;
const pm_char STR_BACKLIGHT_LABEL[] PROGMEM = TR_BACKLIGHT_LABEL;
-1
View File
@@ -296,7 +296,6 @@ extern const pm_char STR_MEMORYWARNING[];
extern const pm_char STR_ALARMWARNING[];
extern const pm_char STR_RENAVIG[];
extern const pm_char STR_THROTTLEREVERSE[];
extern const pm_char STR_BEEP_LABEL[];
extern const pm_char STR_MINUTEBEEP[];
extern const pm_char STR_BEEPCOUNTDOWN[];
extern const pm_char STR_BACKLIGHT_LABEL[];
-1
View File
@@ -402,7 +402,6 @@
#define TR_ALARMWARNING INDENT"Vypnut\212 Zvuk"
#define TR_RENAVIG "Navig. RotEnc"
#define TR_THROTTLEREVERSE "Revers Plynu"
#define TR_BEEP_LABEL "Upozorn\203n\204 Stopek"
#define TR_MINUTEBEEP INDENT"Cel\200 minuta"
#define TR_BEEPCOUNTDOWN INDENT"Odpo\201et \201asu"
#define TR_BACKLIGHT_LABEL "Podsv\203tlen\204"
-1
View File
@@ -404,7 +404,6 @@
#define TR_ALARMWARNING INDENT"Ton aus"
#define TR_RENAVIG "Drehgeb. Navig."
#define TR_THROTTLEREVERSE "Gasumkehrung"
#define TR_BEEP_LABEL "Stoppuhrpieper"
#define TR_MINUTEBEEP INDENT"Minuten"
#define TR_BEEPCOUNTDOWN INDENT"Countdown"
#define TR_BACKLIGHT_LABEL "Beleuchtung"
-1
View File
@@ -416,7 +416,6 @@
#define TR_ALARMWARNING INDENT"Sound Off"
#define TR_RENAVIG "RotEnc Navig"
#define TR_THROTTLEREVERSE TR("Thr reverse","Throttle reverse")
#define TR_BEEP_LABEL "Timer beeps"
#define TR_MINUTEBEEP TR(INDENT"Minute",INDENT"Every minute")
#define TR_BEEPCOUNTDOWN INDENT"Countdown"
#define TR_BACKLIGHT_LABEL "Backlight"
-1
View File
@@ -402,7 +402,6 @@
#define TR_ALARMWARNING INDENT"Sin Sonido"
#define TR_RENAVIG "RotEnc Naveg"
#define TR_THROTTLEREVERSE TR("Acel Invert","Invertir Acel.")
#define TR_BEEP_LABEL "Pitos Reloj"
#define TR_MINUTEBEEP TR(INDENT"Minuto",INDENT"Cada minuto")
#define TR_BEEPCOUNTDOWN INDENT"Cuentaatras"
#define TR_BACKLIGHT_LABEL "Luz Fondo"
-1
View File
@@ -402,7 +402,6 @@
#define TR_ALARMWARNING INDENT"Sons d\200sactiv\200s"
#define TR_RENAVIG "Navig EncRot"
#define TR_THROTTLEREVERSE "Inversion gaz"
#define TR_BEEP_LABEL "Bips Chronos"
#define TR_MINUTEBEEP INDENT"Chaque minute"
#define TR_BEEPCOUNTDOWN TR(INDENT"Cpt. \202 rebours",INDENT"Compte \202 rebours")
#define TR_BACKLIGHT_LABEL "R\200tro\200clairage"
-1
View File
@@ -401,7 +401,6 @@
#define TR_ALARMWARNING INDENT"Spento"
#define TR_RENAVIG "Navig RotEnc "
#define TR_THROTTLEREVERSE "Thr inverso"
#define TR_BEEP_LABEL "Timer events"
#define TR_MINUTEBEEP INDENT"Minuto"
#define TR_BEEPCOUNTDOWN INDENT"Conto rov."
#define TR_BACKLIGHT_LABEL "Retroillum."
-1
View File
@@ -380,7 +380,6 @@
#define TR_ALARMWARNING INDENT"Som Off"
#define TR_RENAVIG "RotEnc Navig"
#define TR_THROTTLEREVERSE "Inverte Acel."
#define TR_BEEP_LABEL "Beep Cronom."
#define TR_MINUTEBEEP INDENT"Beep Minuto"
#define TR_BEEPCOUNTDOWN INDENT"Beep Regressivo"
#define TR_BACKLIGHT_LABEL "Backlight"
-1
View File
@@ -402,7 +402,6 @@
#define TR_ALARMWARNING INDENT"Ljud AV"
#define TR_RENAVIG "RotEnc Navig"
#define TR_THROTTLEREVERSE "Reverserad Gas"
#define TR_BEEP_LABEL "Pip"
#define TR_MINUTEBEEP INDENT"Varje Minut"
#define TR_BEEPCOUNTDOWN INDENT"R\201kna Ned"
#define TR_BACKLIGHT_LABEL "Belysning"