diff --git a/companion/src/eeprominterface.h b/companion/src/eeprominterface.h
index f1fb305ac..277fca225 100644
--- a/companion/src/eeprominterface.h
+++ b/companion/src/eeprominterface.h
@@ -918,7 +918,7 @@ class TimerData {
unsigned int countdownBeep;
bool dir; // 0=>Count Down, 1=>Count Up
unsigned int val;
- bool persistent;
+ unsigned int persistent;
int pvalue;
void clear() { memset(this, 0, sizeof(TimerData)); mode = RawSwitch(SWITCH_TYPE_TIMER_MODE, 0); }
};
diff --git a/companion/src/firmwares/opentx/opentxeeprom.cpp b/companion/src/firmwares/opentx/opentxeeprom.cpp
index 5d6ae59c0..3a716afc6 100644
--- a/companion/src/firmwares/opentx/opentxeeprom.cpp
+++ b/companion/src/firmwares/opentx/opentxeeprom.cpp
@@ -2399,8 +2399,8 @@ OpenTxModelData::OpenTxModelData(ModelData & modelData, BoardEnum board, unsigne
internalField.Append(new UnsignedField<16>(modelData.timers[i].val));
internalField.Append(new UnsignedField<2>(modelData.timers[i].countdownBeep));
internalField.Append(new BoolField<1>(modelData.timers[i].minuteBeep));
- internalField.Append(new BoolField<1>(modelData.timers[i].persistent));
- internalField.Append(new SpareBitsField<4>());
+ internalField.Append(new UnsignedField<2>(modelData.timers[i].persistent));
+ internalField.Append(new SpareBitsField<3>());
internalField.Append(new SignedField<16>(modelData.timers[i].pvalue));
}
else if (afterrelease21March2013) {
@@ -2408,7 +2408,7 @@ OpenTxModelData::OpenTxModelData(ModelData & modelData, BoardEnum board, unsigne
internalField.Append(new BoolField<1>((bool &)modelData.timers[i].countdownBeep));
internalField.Append(new BoolField<1>(modelData.timers[i].minuteBeep));
if (HAS_PERSISTENT_TIMERS(board)) {
- internalField.Append(new BoolField<1>(modelData.timers[i].persistent));
+ internalField.Append(new UnsignedField<1>(modelData.timers[i].persistent));
internalField.Append(new SpareBitsField<1>());
internalField.Append(new SignedField<16>(modelData.timers[i].pvalue));
}
@@ -2419,7 +2419,7 @@ OpenTxModelData::OpenTxModelData(ModelData & modelData, BoardEnum board, unsigne
else {
internalField.Append(new UnsignedField<16>(modelData.timers[i].val));
if (HAS_PERSISTENT_TIMERS(board)) {
- internalField.Append(new BoolField<1>(modelData.timers[i].persistent));
+ internalField.Append(new UnsignedField<1>(modelData.timers[i].persistent));
internalField.Append(new SpareBitsField<15>());
}
}
diff --git a/companion/src/modeledit/setup.cpp b/companion/src/modeledit/setup.cpp
index 320b238a0..6be2a49b0 100644
--- a/companion/src/modeledit/setup.cpp
+++ b/companion/src/modeledit/setup.cpp
@@ -25,8 +25,14 @@ TimerPanel::TimerPanel(QWidget *parent, ModelData & model, TimerData & timer, Ge
ui->countdownBeep->setField(&timer.countdownBeep, this);
ui->countdownBeep->addItem(tr("Silent"), 0);
ui->countdownBeep->addItem(tr("Beeps"), 1);
- if (IS_ARM(GetEepromInterface()->getBoard()) || IS_2560(GetEepromInterface()->getBoard()))
+ if (IS_ARM(GetEepromInterface()->getBoard()) || IS_2560(GetEepromInterface()->getBoard())) {
ui->countdownBeep->addItem(tr("Voice"), 2);
+ }
+
+ ui->persistent->setField(&timer.persistent, this);
+ ui->persistent->addItem(tr("Not persistent"), 0);
+ ui->persistent->addItem(tr("Persistent (flight)"), 1);
+ ui->persistent->addItem(tr("Persistent (manual reset)"), 2);
disableMouseScrolling();
@@ -55,7 +61,6 @@ void TimerPanel::update()
pvalue -= hours * 3600;
int minutes = pvalue / 60;
int seconds = pvalue % 60;
- ui->persistent->setChecked(timer.persistent);
ui->persistentValue->setText(QString(" %1(%2:%3:%4)").arg(sign<0 ? "-" :" ").arg(hours, 2, 10, QLatin1Char('0')).arg(minutes, 2, 10, QLatin1Char('0')).arg(seconds, 2, 10, QLatin1Char('0')));
}
diff --git a/companion/src/modeledit/setup_timer.ui b/companion/src/modeledit/setup_timer.ui
index 84d350f21..d6d7c2157 100644
--- a/companion/src/modeledit/setup_timer.ui
+++ b/companion/src/modeledit/setup_timer.ui
@@ -51,11 +51,7 @@
-
-
-
- Persistent
-
-
+
-
diff --git a/radio/src/gui/menu_model.cpp b/radio/src/gui/menu_model.cpp
index 55e0ca95e..ca932232f 100644
--- a/radio/src/gui/menu_model.cpp
+++ b/radio/src/gui/menu_model.cpp
@@ -1142,7 +1142,7 @@ void menuModelSetup(uint8_t event)
case ITEM_MODEL_TIMER2_PERSISTENT:
{
TimerData &timer = g_model.timers[k==ITEM_MODEL_TIMER2_PERSISTENT];
- timer.persistent = onoffMenuItem(timer.persistent, MODEL_SETUP_2ND_COLUMN, y, STR_PERSISTENT, attr, event);
+ timer.persistent = selectMenuItem(MODEL_SETUP_2ND_COLUMN, y, STR_PERSISTENT, STR_VPERSISTENT, timer.persistent, 0, 2, attr, event);
break;
}
#endif
diff --git a/radio/src/myeeprom.h b/radio/src/myeeprom.h
index 83bba86bb..2d07dc36b 100644
--- a/radio/src/myeeprom.h
+++ b/radio/src/myeeprom.h
@@ -1590,11 +1590,11 @@ PACK(typedef struct t_TimerData {
uint16_t start;
uint8_t countdownBeep:2;
uint8_t minuteBeep:1;
- uint8_t persistent:1;
- uint8_t spare:4;
+ uint8_t persistent:2;
+ uint8_t spare:3;
uint16_t value;
}) TimerData;
-#define IS_PERSISTENT_TIMER(idx) g_model.timers[idx].persistent
+#define IS_MANUAL_RESET_TIMER(idx) (g_model.timers[idx].persistent == 2)
#else
PACK(typedef struct t_TimerData {
int8_t mode; // timer trigger source -> off, abs, stk, stk%, sw/!sw, !m_sw/!m_sw
@@ -1603,7 +1603,7 @@ PACK(typedef struct t_TimerData {
uint16_t minuteBeep:1;
uint16_t spare:2;
}) TimerData;
-#define IS_PERSISTENT_TIMER(idx) 0
+#define IS_MANUAL_RESET_TIMER(idx) 0
#endif
enum Protocols {
diff --git a/radio/src/opentx.cpp b/radio/src/opentx.cpp
index 35ced3138..5d765d6d9 100644
--- a/radio/src/opentx.cpp
+++ b/radio/src/opentx.cpp
@@ -1619,11 +1619,11 @@ void flightReset()
else
AUDIO_RESET();
- if (!IS_PERSISTENT_TIMER(0)) {
+ if (!IS_MANUAL_RESET_TIMER(0)) {
timerReset(0);
}
- if (!IS_PERSISTENT_TIMER(1)) {
+ if (!IS_MANUAL_RESET_TIMER(1)) {
timerReset(1);
}
diff --git a/radio/src/translations.cpp b/radio/src/translations.cpp
index 64269b7a4..cc40425a8 100644
--- a/radio/src/translations.cpp
+++ b/radio/src/translations.cpp
@@ -100,6 +100,7 @@ const pm_char STR_OPEN9X[] PROGMEM =
ISTR(VTMRMODES)
#if defined(CPUM2560) || defined(CPUARM)
ISTR(DATETIME)
+ ISTR(VPERSISTENT)
#endif
#if defined(CPUARM)
ISTR(VLCD)
diff --git a/radio/src/translations.h b/radio/src/translations.h
index 01b43a68b..936105eb5 100644
--- a/radio/src/translations.h
+++ b/radio/src/translations.h
@@ -156,7 +156,8 @@ extern const pm_char STR_OPEN9X[];
#define OFS_VTMRMODES (OFS_VSRCRAW + sizeof(TR_VSRCRAW))
#define OFS_DATETIME (OFS_VTMRMODES + sizeof(TR_VTMRMODES))
#if defined(CPUM2560) || defined(CPUARM)
- #define OFS_VLCD (OFS_DATETIME + sizeof(TR_DATETIME))
+ #define OFS_VPERSISTENT (OFS_DATETIME + sizeof(TR_DATETIME))
+ #define OFS_VLCD (OFS_VPERSISTENT + sizeof(TR_VPERSISTENT))
#else
#define OFS_VLCD (OFS_DATETIME)
#endif
@@ -192,85 +193,86 @@ extern const pm_char STR_OPEN9X[];
#define OFS_SPARE (OFS_MAVLINK_BAUDS)
#endif
-#define STR_OFFON (STR_OPEN9X + OFS_OFFON)
-#define STR_MMMINV (STR_OPEN9X + OFS_MMMINV)
-#define STR_NCHANNELS (STR_OPEN9X + OFS_NCHANNELS)
+#define STR_OFFON (STR_OPEN9X + OFS_OFFON)
+#define STR_MMMINV (STR_OPEN9X + OFS_MMMINV)
+#define STR_NCHANNELS (STR_OPEN9X + OFS_NCHANNELS)
#if !defined(GRAPHICS)
-#define STR_VBEEPLEN (STR_OPEN9X + OFS_VBEEPLEN)
+#define STR_VBEEPLEN (STR_OPEN9X + OFS_VBEEPLEN)
#endif
-#define STR_VBEEPMODE (STR_OPEN9X + OFS_VBEEPMODE)
-#define STR_TRNMODE (STR_OPEN9X + OFS_TRNMODE)
-#define STR_TRNCHN (STR_OPEN9X + OFS_TRNCHN)
-#define STR_UART3MODES (STR_OPEN9X + OFS_UART3MODES)
-#define STR_POTTYPES (STR_OPEN9X + OFS_POTTYPES)
-#define STR_VTRIMINC (STR_OPEN9X + OFS_VTRIMINC)
-#define STR_RETA123 (STR_OPEN9X + OFS_RETA123)
-#define STR_VPROTOS (STR_OPEN9X + OFS_VPROTOS)
-#define STR_POSNEG (STR_OPEN9X + OFS_POSNEG)
-#define STR_VBLMODE (STR_OPEN9X + OFS_VBLMODE)
-#define STR_VCURVEFUNC (STR_OPEN9X + OFS_VCURVEFUNC)
-#define STR_VSIDE STR_VCURVEFUNC
-#define LEN_VSIDE LEN_VCURVEFUNC
-#define STR_VMLTPX (STR_OPEN9X + OFS_VMLTPX)
-#define STR_VMLTPX2 (STR_OPEN9X + OFS_VMLTPX2)
-#define STR_VMIXTRIMS (STR_OPEN9X + OFS_VMIXTRIMS)
-#define STR_VCSWFUNC (STR_OPEN9X + OFS_VCSWFUNC)
-#define STR_VFSWFUNC (STR_OPEN9X + OFS_VFSWFUNC)
-#define STR_VFSWRESET (STR_OPEN9X + OFS_VFSWRESET)
-#define STR_FUNCSOUNDS (STR_OPEN9X + OFS_FUNCSOUNDS)
-#define STR_VTELEMCHNS (STR_OPEN9X + OFS_VTELEMCHNS)
+#define STR_VBEEPMODE (STR_OPEN9X + OFS_VBEEPMODE)
+#define STR_TRNMODE (STR_OPEN9X + OFS_TRNMODE)
+#define STR_TRNCHN (STR_OPEN9X + OFS_TRNCHN)
+#define STR_UART3MODES (STR_OPEN9X + OFS_UART3MODES)
+#define STR_POTTYPES (STR_OPEN9X + OFS_POTTYPES)
+#define STR_VTRIMINC (STR_OPEN9X + OFS_VTRIMINC)
+#define STR_RETA123 (STR_OPEN9X + OFS_RETA123)
+#define STR_VPROTOS (STR_OPEN9X + OFS_VPROTOS)
+#define STR_POSNEG (STR_OPEN9X + OFS_POSNEG)
+#define STR_VBLMODE (STR_OPEN9X + OFS_VBLMODE)
+#define STR_VCURVEFUNC (STR_OPEN9X + OFS_VCURVEFUNC)
+#define STR_VSIDE STR_VCURVEFUNC
+#define LEN_VSIDE LEN_VCURVEFUNC
+#define STR_VMLTPX (STR_OPEN9X + OFS_VMLTPX)
+#define STR_VMLTPX2 (STR_OPEN9X + OFS_VMLTPX2)
+#define STR_VMIXTRIMS (STR_OPEN9X + OFS_VMIXTRIMS)
+#define STR_VCSWFUNC (STR_OPEN9X + OFS_VCSWFUNC)
+#define STR_VFSWFUNC (STR_OPEN9X + OFS_VFSWFUNC)
+#define STR_VFSWRESET (STR_OPEN9X + OFS_VFSWRESET)
+#define STR_FUNCSOUNDS (STR_OPEN9X + OFS_FUNCSOUNDS)
+#define STR_VTELEMCHNS (STR_OPEN9X + OFS_VTELEMCHNS)
#if defined(FRSKY) || defined(CPUARM)
#if defined(CPUARM)
- #define STR_VTELEMUNIT (STR_OPEN9X + (g_eeGeneral.imperial ? OFS_VTELEMUNIT_IMP : OFS_VTELEMUNIT_METR))
- #define STR_VOLTSRC (STR_OPEN9X + OFS_VOLTSRC)
+ #define STR_VTELEMUNIT (STR_OPEN9X + (g_eeGeneral.imperial ? OFS_VTELEMUNIT_IMP : OFS_VTELEMUNIT_METR))
+ #define STR_VOLTSRC (STR_OPEN9X + OFS_VOLTSRC)
#else
- #define STR_VTELEMUNIT (STR_OPEN9X + OFS_VTELEMUNIT)
+ #define STR_VTELEMUNIT (STR_OPEN9X + OFS_VTELEMUNIT)
#endif
-#define STR_VALARM (STR_OPEN9X + OFS_VALARM)
-#define STR_VALARMFN (STR_OPEN9X + OFS_VALARMFN)
-#define STR_VTELPROTO (STR_OPEN9X + OFS_VTELPROTO)
-#define STR_GPSFORMAT (STR_OPEN9X + OFS_GPSFORMAT)
-#define STR_AMPSRC (STR_OPEN9X + OFS_AMPSRC)
-#define STR_VARIOSRC (STR_OPEN9X + OFS_VARIOSRC)
-#define STR_VSCREEN (STR_OPEN9X + OFS_VSCREEN)
-#define STR_TELEMCHNS (STR_OPEN9X + OFS_TELEMCHNS)
+#define STR_VALARM (STR_OPEN9X + OFS_VALARM)
+#define STR_VALARMFN (STR_OPEN9X + OFS_VALARMFN)
+#define STR_VTELPROTO (STR_OPEN9X + OFS_VTELPROTO)
+#define STR_GPSFORMAT (STR_OPEN9X + OFS_GPSFORMAT)
+#define STR_AMPSRC (STR_OPEN9X + OFS_AMPSRC)
+#define STR_VARIOSRC (STR_OPEN9X + OFS_VARIOSRC)
+#define STR_VSCREEN (STR_OPEN9X + OFS_VSCREEN)
+#define STR_TELEMCHNS (STR_OPEN9X + OFS_TELEMCHNS)
#endif
#if defined(TEMPLATES)
- #define STR_VTEMPLATES (STR_OPEN9X + OFS_VTEMPLATES)
+ #define STR_VTEMPLATES (STR_OPEN9X + OFS_VTEMPLATES)
#endif
#if defined(HELI)
- #define STR_VSWASHTYPE (STR_OPEN9X + OFS_VSWASHTYPE)
+ #define STR_VSWASHTYPE (STR_OPEN9X + OFS_VSWASHTYPE)
#endif
-#define STR_VKEYS (STR_OPEN9X + OFS_VKEYS)
-#define STR_VSWITCHES (STR_OPEN9X + OFS_VSWITCHES)
-#define STR_VSRCRAW (STR_OPEN9X + OFS_VSRCRAW)
-#define STR_VTMRMODES (STR_OPEN9X + OFS_VTMRMODES)
+#define STR_VKEYS (STR_OPEN9X + OFS_VKEYS)
+#define STR_VSWITCHES (STR_OPEN9X + OFS_VSWITCHES)
+#define STR_VSRCRAW (STR_OPEN9X + OFS_VSRCRAW)
+#define STR_VTMRMODES (STR_OPEN9X + OFS_VTMRMODES)
#if defined(ROTARY_ENCODERS)
- #define STR_VRENAVIG (STR_OPEN9X + OFS_VRENAVIG)
+ #define STR_VRENAVIG (STR_OPEN9X + OFS_VRENAVIG)
#endif
#if defined(ROTARY_ENCODER_NAVIGATION)
- #define STR_VRENCODERS (STR_OPEN9X + OFS_VRENCODERS)
+ #define STR_VRENCODERS (STR_OPEN9X + OFS_VRENCODERS)
#endif
#if defined(CPUM2560) || defined(CPUARM)
-#define STR_DATETIME (STR_OPEN9X + OFS_DATETIME)
+ #define STR_DATETIME (STR_OPEN9X + OFS_DATETIME)
+ #define STR_VPERSISTENT (STR_OPEN9X + OFS_VPERSISTENT)
#endif
#if defined(CPUARM)
- #define STR_VLCD (STR_OPEN9X + OFS_VLCD)
- #define STR_VUNITSSYSTEM (STR_OPEN9X + OFS_VUNITSSYSTEM)
- #define STR_VBEEPCOUNTDOWN (STR_OPEN9X + OFS_VBEEPCOUNTDOWN)
+ #define STR_VLCD (STR_OPEN9X + OFS_VLCD)
+ #define STR_VUNITSSYSTEM (STR_OPEN9X + OFS_VUNITSSYSTEM)
+ #define STR_VBEEPCOUNTDOWN (STR_OPEN9X + OFS_VBEEPCOUNTDOWN)
#endif
#if defined(PXX) || defined(CPUARM)
- #define STR_COUNTRYCODES (STR_OPEN9X + OFS_COUNTRYCODES)
- #define STR_VFAILSAFE (STR_OPEN9X + OFS_VFAILSAFE)
+ #define STR_COUNTRYCODES (STR_OPEN9X + OFS_COUNTRYCODES)
+ #define STR_VFAILSAFE (STR_OPEN9X + OFS_VFAILSAFE)
#endif
#if defined(CPUARM)
diff --git a/radio/src/translations/cz.h.txt b/radio/src/translations/cz.h.txt
index d298fd593..9f49227d2 100644
--- a/radio/src/translations/cz.h.txt
+++ b/radio/src/translations/cz.h.txt
@@ -91,6 +91,9 @@
#define LEN_VLCD "\006"
#define TR_VLCD "NormalOptrex"
+#define LEN_VPERSISTENT "\014"
+#define TR_VPERSISTENT "OFF\0 ""Flight\0 ""Manual Reset"
+
#define LEN_COUNTRYCODES TR("\002", "\010")
#define TR_COUNTRYCODES TR("US""JP""EU", "Amerika\0""Japonsko""Evropa\0 ")
diff --git a/radio/src/translations/de.h.txt b/radio/src/translations/de.h.txt
index d23d20464..de8e613db 100644
--- a/radio/src/translations/de.h.txt
+++ b/radio/src/translations/de.h.txt
@@ -91,6 +91,9 @@
#define LEN_VLCD "\006"
#define TR_VLCD "Normal""Optrex"
+#define LEN_VPERSISTENT "\014"
+#define TR_VPERSISTENT "OFF\0 ""Flight\0 ""Manual Reset"
+
#define LEN_COUNTRYCODES TR("\002", "\007")
#define TR_COUNTRYCODES TR("US""JP""EU", "Amerika""Japan\0 ""Europa\0")
diff --git a/radio/src/translations/en.h.txt b/radio/src/translations/en.h.txt
index cceebaaf9..a5cc8ecae 100644
--- a/radio/src/translations/en.h.txt
+++ b/radio/src/translations/en.h.txt
@@ -91,6 +91,9 @@
#define LEN_VLCD "\006"
#define TR_VLCD "NormalOptrex"
+#define LEN_VPERSISTENT "\014"
+#define TR_VPERSISTENT "OFF\0 ""Flight\0 ""Manual Reset"
+
#define LEN_COUNTRYCODES TR("\002", "\007")
#define TR_COUNTRYCODES TR("US""JP""EU", "America""Japan\0 ""Europe\0")
diff --git a/radio/src/translations/es.h.txt b/radio/src/translations/es.h.txt
index c34ea26e1..4a51963e7 100644
--- a/radio/src/translations/es.h.txt
+++ b/radio/src/translations/es.h.txt
@@ -91,6 +91,9 @@
#define LEN_VLCD "\006"
#define TR_VLCD "NormalOptrex"
+#define LEN_VPERSISTENT "\014"
+#define TR_VPERSISTENT "OFF\0 ""Flight\0 ""Manual Reset"
+
#define LEN_COUNTRYCODES TR("\002", "\007")
#define TR_COUNTRYCODES TR("US""JP""EU", "America""Japon\0 ""Europa\0")
diff --git a/radio/src/translations/fi.h.txt b/radio/src/translations/fi.h.txt
index e7b9a36a4..9bf378ecc 100644
--- a/radio/src/translations/fi.h.txt
+++ b/radio/src/translations/fi.h.txt
@@ -91,6 +91,9 @@
#define LEN_VLCD "\006"
#define TR_VLCD "NormalOptrex"
+#define LEN_VPERSISTENT "\014"
+#define TR_VPERSISTENT "OFF\0 ""Flight\0 ""Manual Reset"
+
#define LEN_COUNTRYCODES TR("\002", "\007")
#define TR_COUNTRYCODES TR("US""JP""EU", "Amerikk""Japani\0""Euroopp")
diff --git a/radio/src/translations/fr.h.txt b/radio/src/translations/fr.h.txt
index 8179d24f6..54b937cf1 100644
--- a/radio/src/translations/fr.h.txt
+++ b/radio/src/translations/fr.h.txt
@@ -91,6 +91,9 @@
#define LEN_VLCD "\006"
#define TR_VLCD "NormalOptrex"
+#define LEN_VPERSISTENT "\014"
+#define TR_VPERSISTENT "OFF\0 ""Vol\0 ""Reset Manuel"
+
#define LEN_COUNTRYCODES TR("\002", "\006")
#define TR_COUNTRYCODES TR("US""JP""EU", "USA\0 ""Japon\0""Europe")
diff --git a/radio/src/translations/it.h.txt b/radio/src/translations/it.h.txt
index ee2b56f72..063bf0f4f 100644
--- a/radio/src/translations/it.h.txt
+++ b/radio/src/translations/it.h.txt
@@ -91,6 +91,9 @@
#define LEN_VLCD "\006"
#define TR_VLCD "NormalOptrex"
+#define LEN_VPERSISTENT "\014"
+#define TR_VPERSISTENT "OFF\0 ""Flight\0 ""Manual Reset"
+
#define LEN_COUNTRYCODES TR("\002", "\007")
#define TR_COUNTRYCODES TR("US""JP""EU", "America""Japan\0 ""Europa\0")
diff --git a/radio/src/translations/pl.h.txt b/radio/src/translations/pl.h.txt
index 63e666cf6..56580c6f5 100644
--- a/radio/src/translations/pl.h.txt
+++ b/radio/src/translations/pl.h.txt
@@ -91,6 +91,9 @@
#define LEN_VLCD "\006"
#define TR_VLCD "NormalOptrex"
+#define LEN_VPERSISTENT "\014"
+#define TR_VPERSISTENT "OFF\0 ""Flight\0 ""Manual Reset"
+
#define LEN_COUNTRYCODES TR("\002", "\007")
#define TR_COUNTRYCODES TR("US""JP""EU", "Ameryka""Japonia""Europa\0")
diff --git a/radio/src/translations/pt.h.txt b/radio/src/translations/pt.h.txt
index aaacc802b..a952866ab 100644
--- a/radio/src/translations/pt.h.txt
+++ b/radio/src/translations/pt.h.txt
@@ -91,6 +91,9 @@
#define LEN_VLCD "\006"
#define TR_VLCD "NormalOptrex"
+#define LEN_VPERSISTENT "\014"
+#define TR_VPERSISTENT "OFF\0 ""Flight\0 ""Manual Reset"
+
#define LEN_COUNTRYCODES TR("\002", "\007")
#define TR_COUNTRYCODES TR("US""JP""EU", "America""Japan\0 ""Europe\0")
diff --git a/radio/src/translations/se.h.txt b/radio/src/translations/se.h.txt
index fd83af563..fd03a16e4 100644
--- a/radio/src/translations/se.h.txt
+++ b/radio/src/translations/se.h.txt
@@ -91,6 +91,9 @@
#define LEN_VLCD "\006"
#define TR_VLCD "NormalOptrex"
+#define LEN_VPERSISTENT "\014"
+#define TR_VPERSISTENT "OFF\0 ""Flight\0 ""Manual Reset"
+
#define LEN_COUNTRYCODES TR("\002", "\007")
#define TR_COUNTRYCODES TR("US""JP""EU", "Amerika""Japan\0 ""Europa\0")