1
0
Fork 0
mirror of https://github.com/opentx/opentx.git synced 2025-07-24 00:35:18 +03:00
This commit is contained in:
bsongis 2014-07-07 18:03:25 +02:00
parent ee077a06e6
commit 2798fa7ba9
19 changed files with 104 additions and 70 deletions

View file

@ -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); }
};

View file

@ -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>());
}
}

View file

@ -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')));
}

View file

@ -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">

View file

@ -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

View file

@ -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 {

View file

@ -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);
}

View file

@ -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)

View file

@ -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)

View file

@ -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 ")

View file

@ -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")

View file

@ -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")

View file

@ -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")

View file

@ -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")

View file

@ -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")

View file

@ -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")

View file

@ -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")

View file

@ -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")

View file

@ -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")