mirror of
https://github.com/opentx/opentx.git
synced 2025-07-24 00:35:18 +03:00
Fixes #1451
This commit is contained in:
parent
ee077a06e6
commit
2798fa7ba9
19 changed files with 104 additions and 70 deletions
|
@ -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); }
|
||||
};
|
||||
|
|
|
@ -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>());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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')));
|
||||
}
|
||||
|
||||
|
|
|
@ -51,11 +51,7 @@
|
|||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="persistent">
|
||||
<property name="text">
|
||||
<string>Persistent</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QUnsignedAutoComboBox" name="persistent"/>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="persistentValue">
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
|
@ -260,6 +261,7 @@ extern const pm_char STR_OPEN9X[];
|
|||
|
||||
#if defined(CPUM2560) || defined(CPUARM)
|
||||
#define STR_DATETIME (STR_OPEN9X + OFS_DATETIME)
|
||||
#define STR_VPERSISTENT (STR_OPEN9X + OFS_VPERSISTENT)
|
||||
#endif
|
||||
|
||||
#if defined(CPUARM)
|
||||
|
|
|
@ -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 ")
|
||||
|
||||
|
|
|
@ -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")
|
||||
|
||||
|
|
|
@ -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")
|
||||
|
||||
|
|
|
@ -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")
|
||||
|
||||
|
|
|
@ -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")
|
||||
|
||||
|
|
|
@ -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")
|
||||
|
||||
|
|
|
@ -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")
|
||||
|
||||
|
|
|
@ -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")
|
||||
|
||||
|
|
|
@ -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")
|
||||
|
||||
|
|
|
@ -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")
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue