diff --git a/DONATIONS.txt b/DONATIONS.txt
index 0fdc100eb..4726c31f0 100644
--- a/DONATIONS.txt
+++ b/DONATIONS.txt
@@ -296,3 +296,5 @@ Harvest Lane
Ville Kuvaja
DK-System
Heinz Vogel
+Heung Jin Choi
+MMJS van der Helm
diff --git a/companion/src/companion.qrc b/companion/src/companion.qrc
index 7ef4edb27..34831d7c6 100644
--- a/companion/src/companion.qrc
+++ b/companion/src/companion.qrc
@@ -293,6 +293,7 @@
images/library/30002.png
images/library/30003.png
images/library/30004.png
+ themes/monochrome/16/paintbrush.png
themes/monochrome/16/open.png
themes/monochrome/16/edit.png
themes/monochrome/16/information.png
@@ -336,6 +337,7 @@
themes/monochrome/16/contributors.png
themes/monochrome/16/stop.png
themes/monochrome/16/write_eeprom.png
+ themes/monochrome/24/paintbrush.png
themes/monochrome/24/open.png
themes/monochrome/24/edit.png
themes/monochrome/24/information.png
@@ -379,6 +381,7 @@
themes/monochrome/24/contributors.png
themes/monochrome/24/stop.png
themes/monochrome/24/write_eeprom.png
+ themes/monochrome/32/paintbrush.png
themes/monochrome/32/open.png
themes/monochrome/32/edit.png
themes/monochrome/32/information.png
@@ -422,6 +425,7 @@
themes/monochrome/32/contributors.png
themes/monochrome/32/stop.png
themes/monochrome/32/write_eeprom.png
+ themes/monochrome/48/paintbrush.png
themes/monochrome/48/open.png
themes/monochrome/48/edit.png
themes/monochrome/48/information.png
@@ -465,6 +469,7 @@
themes/monochrome/48/contributors.png
themes/monochrome/48/stop.png
themes/monochrome/48/write_eeprom.png
+ themes/classic/16/paintbrush.png
themes/classic/16/open.png
themes/classic/16/edit.png
themes/classic/16/information.png
@@ -508,6 +513,7 @@
themes/classic/16/contributors.png
themes/classic/16/stop.png
themes/classic/16/write_eeprom.png
+ themes/classic/24/paintbrush.png
themes/classic/24/open.png
themes/classic/24/edit.png
themes/classic/24/information.png
@@ -551,6 +557,7 @@
themes/classic/24/contributors.png
themes/classic/24/stop.png
themes/classic/24/write_eeprom.png
+ themes/classic/32/paintbrush.png
themes/classic/32/open.png
themes/classic/32/edit.png
themes/classic/32/information.png
@@ -594,6 +601,7 @@
themes/classic/32/contributors.png
themes/classic/32/stop.png
themes/classic/32/write_eeprom.png
+ themes/classic/48/paintbrush.png
themes/classic/48/open.png
themes/classic/48/edit.png
themes/classic/48/information.png
@@ -637,6 +645,7 @@
themes/classic/48/contributors.png
themes/classic/48/stop.png
themes/classic/48/write_eeprom.png
+ themes/monoblue/16/paintbrush.png
themes/monoblue/16/open.png
themes/monoblue/16/edit.png
themes/monoblue/16/information.png
@@ -680,6 +689,7 @@
themes/monoblue/16/contributors.png
themes/monoblue/16/stop.png
themes/monoblue/16/write_eeprom.png
+ themes/monoblue/24/paintbrush.png
themes/monoblue/24/open.png
themes/monoblue/24/edit.png
themes/monoblue/24/information.png
@@ -723,6 +733,7 @@
themes/monoblue/24/contributors.png
themes/monoblue/24/stop.png
themes/monoblue/24/write_eeprom.png
+ themes/monoblue/32/paintbrush.png
themes/monoblue/32/open.png
themes/monoblue/32/edit.png
themes/monoblue/32/information.png
@@ -766,6 +777,7 @@
themes/monoblue/32/contributors.png
themes/monoblue/32/stop.png
themes/monoblue/32/write_eeprom.png
+ themes/monoblue/48/paintbrush.png
themes/monoblue/48/open.png
themes/monoblue/48/edit.png
themes/monoblue/48/information.png
@@ -809,6 +821,8 @@
themes/monoblue/48/contributors.png
themes/monoblue/48/stop.png
themes/monoblue/48/write_eeprom.png
+ themes/monowhite/16/paintbrush.png
+ themes/monowhite/16/open.png
themes/monowhite/16/edit.png
themes/monowhite/16/information.png
themes/monowhite/16/configure.png
@@ -851,6 +865,7 @@
themes/monowhite/16/contributors.png
themes/monowhite/16/stop.png
themes/monowhite/16/write_eeprom.png
+ themes/monowhite/24/paintbrush.png
themes/monowhite/24/open.png
themes/monowhite/24/edit.png
themes/monowhite/24/information.png
@@ -894,6 +909,7 @@
themes/monowhite/24/contributors.png
themes/monowhite/24/stop.png
themes/monowhite/24/write_eeprom.png
+ themes/monowhite/32/paintbrush.png
themes/monowhite/32/open.png
themes/monowhite/32/edit.png
themes/monowhite/32/information.png
@@ -937,6 +953,7 @@
themes/monowhite/32/contributors.png
themes/monowhite/32/stop.png
themes/monowhite/32/write_eeprom.png
+ themes/monowhite/48/paintbrush.png
themes/monowhite/48/open.png
themes/monowhite/48/edit.png
themes/monowhite/48/information.png
diff --git a/companion/src/eeprominterface.h b/companion/src/eeprominterface.h
index 1b8ec876f..43ef03a5a 100644
--- a/companion/src/eeprominterface.h
+++ b/companion/src/eeprominterface.h
@@ -646,7 +646,7 @@ class FuncSwData { // Function Switches data
char paramarm[10];
unsigned int enabled; // TODO perhaps not any more the right name
unsigned int adjustMode;
- unsigned int repeatParam;
+ int repeatParam;
void clear() { memset(this, 0, sizeof(FuncSwData)); }
};
@@ -788,14 +788,13 @@ enum TimerMode {
class TimerData {
public:
TimerData() { clear(); }
- TimerMode mode; // timer trigger source -> off, abs, THs, TH%, THt, sw/!sw, !m_sw/!m_sw
- int8_t modeB;
- bool minuteBeep;
- bool countdownBeep;
- bool dir; // 0=>Count Down, 1=>Count Up
+ TimerMode mode; // timer trigger source -> off, abs, THs, TH%, THt, sw/!sw, !m_sw/!m_sw
+ bool minuteBeep;
+ unsigned int countdownBeep;
+ bool dir; // 0=>Count Down, 1=>Count Up
unsigned int val;
- bool persistent;
- int pvalue;
+ bool persistent;
+ int pvalue;
void clear() { memset(this, 0, sizeof(TimerData)); }
};
@@ -915,8 +914,6 @@ enum Capability {
MixesWithoutExpo,
Timers,
TimeDivisions,
- minuteBeep,
- countdownBeep,
CustomFunctions,
VoicesAsNumbers,
VoicesMaxLength,
diff --git a/companion/src/firmwares/er9x/er9xeeprom.cpp b/companion/src/firmwares/er9x/er9xeeprom.cpp
index f07716e72..4fa122677 100644
--- a/companion/src/firmwares/er9x/er9xeeprom.cpp
+++ b/companion/src/firmwares/er9x/er9xeeprom.cpp
@@ -366,9 +366,7 @@ t_Er9xModelData::operator ModelData ()
c9x.timers[0].mode = getEr9xTimerMode(tmrMode);
c9x.timers[0].dir = tmrDir;
c9x.timers[0].val = tmrVal;
- c9x.timers[0].modeB = tmrModeB;
-
- switch(protocol) {
+ switch(protocol) {
case 1:
c9x.moduleData[0].protocol = PXX_DJT;
break;
diff --git a/companion/src/firmwares/ersky9x/ersky9xeeprom.cpp b/companion/src/firmwares/ersky9x/ersky9xeeprom.cpp
index 1247c795a..994a75d7d 100644
--- a/companion/src/firmwares/ersky9x/ersky9xeeprom.cpp
+++ b/companion/src/firmwares/ersky9x/ersky9xeeprom.cpp
@@ -508,7 +508,6 @@ t_Ersky9xModelData_v10::operator ModelData ()
getEEPROMString(c9x.name, name, sizeof(name));
for (int i=0; i<2; i++) {
c9x.timers[i].mode = getErSky9xTimerMode(timer[i].tmrModeA);
- c9x.timers[i].modeB = timer[i].tmrModeB;
c9x.timers[i].dir = timer[i].tmrDir;
c9x.timers[i].val = timer[i].tmrVal;
}
@@ -630,7 +629,6 @@ t_Ersky9xModelData_v11::operator ModelData ()
getEEPROMString(c9x.name, name, sizeof(name));
for (int i=0; i<2; i++) {
c9x.timers[i].mode = getErSky9xTimerMode(timer[i].tmrModeA);
- c9x.timers[i].modeB = timer[i].tmrModeB;
c9x.timers[i].dir = timer[i].tmrDir;
c9x.timers[i].val = timer[i].tmrVal;
}
diff --git a/companion/src/firmwares/opentx/opentxeeprom.cpp b/companion/src/firmwares/opentx/opentxeeprom.cpp
index 0bd5d7528..672400fe1 100644
--- a/companion/src/firmwares/opentx/opentxeeprom.cpp
+++ b/companion/src/firmwares/opentx/opentxeeprom.cpp
@@ -1338,10 +1338,10 @@ class CustomFunctionField: public TransformedField {
internalField.Append(new CharField<6>(_arm_param));
if (version >= 214) {
internalField.Append(new UnsignedField<2>(_mode));
- internalField.Append(new UnsignedField<6>(_delay));
+ internalField.Append(new SignedField<6>(_delay));
}
else {
- internalField.Append(new UnsignedField<8>(_delay));
+ internalField.Append(new UnsignedField<8>((unsigned int &)_delay));
}
if (version < 214)
internalField.Append(new SpareBitsField<8>());
@@ -1364,7 +1364,7 @@ class CustomFunctionField: public TransformedField {
if (IS_ARM(board)) {
_mode = 0;
if (fn.func == FuncPlaySound || fn.func == FuncPlayPrompt || fn.func == FuncPlayValue)
- _delay = fn.repeatParam / 5;
+ _delay = (version >= 216 ? fn.repeatParam : (fn.repeatParam/5));
else
_delay = (fn.enabled ? 1 : 0);
if (fn.func <= FuncInstantTrim) {
@@ -1439,7 +1439,7 @@ class CustomFunctionField: public TransformedField {
{
if (IS_ARM(board)) {
if (fn.func == FuncPlaySound || fn.func == FuncPlayPrompt || fn.func == FuncPlayValue)
- fn.repeatParam = _delay * 5;
+ fn.repeatParam = (version >= 216 ? _delay : (_delay*5));
else
fn.enabled = (_delay & 0x01);
@@ -1529,7 +1529,7 @@ class CustomFunctionField: public TransformedField {
SourcesConversionTable * sourcesConversionTable;
char _arm_param[10];
unsigned int _param;
- unsigned int _delay;
+ int _delay;
unsigned int _mode;
unsigned int _union_param;
};
@@ -1688,8 +1688,7 @@ class FrskyField: public StructField {
Append(new UnsignedField<8>(frsky.usrProto));
if (version >= 216) {
Append(new UnsignedField<7>(frsky.voltsSource));
- // TODO altitude displayed
- Append(new SpareBitsField<1>());
+ Append(new BoolField<1>(frsky.altitudeDisplayed));
}
else {
Append(new UnsignedField<8>(frsky.voltsSource));
@@ -1812,7 +1811,7 @@ Open9xModelDataNew::Open9xModelDataNew(ModelData & modelData, BoardEnum board, u
internalField.Append(new TimerModeField(modelData.timers[i].mode, board, version));
if ((IS_ARM(board) || IS_2560(board)) && version >= 216) {
internalField.Append(new UnsignedField<16>(modelData.timers[i].val));
- internalField.Append(new BoolField<2>(modelData.timers[i].countdownBeep));
+ 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>());
@@ -1820,7 +1819,7 @@ Open9xModelDataNew::Open9xModelDataNew(ModelData & modelData, BoardEnum board, u
}
else if (release21March2013) {
internalField.Append(new UnsignedField<12>(modelData.timers[i].val));
- internalField.Append(new BoolField<1>(modelData.timers[i].countdownBeep));
+ 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));
diff --git a/companion/src/firmwares/opentx/opentxinterface.cpp b/companion/src/firmwares/opentx/opentxinterface.cpp
index a2bcc4df4..47ac1b8a8 100644
--- a/companion/src/firmwares/opentx/opentxinterface.cpp
+++ b/companion/src/firmwares/opentx/opentxinterface.cpp
@@ -513,10 +513,6 @@ int Open9xInterface::getCapability(const Capability capability)
return 1;
else
return 0;
- case minuteBeep:
- return 1;
- case countdownBeep:
- return 1;
case Pots:
return (IS_TARANIS(board) ? 4 : 3);
case Switches:
diff --git a/companion/src/helpers.cpp b/companion/src/helpers.cpp
index d5904a77e..dc1046582 100644
--- a/companion/src/helpers.cpp
+++ b/companion/src/helpers.cpp
@@ -12,7 +12,8 @@ QString getPhaseName(int val, char * phasename)
phaseName.append(phasename);
if (phaseName.isEmpty()) {
return QString(val < 0 ? "!" : "") + QObject::tr("FM%1").arg(abs(val) - 1);
- } else {
+ }
+ else {
return QString(val < 0 ? "!" : "") + phaseName;
}
}
@@ -449,17 +450,6 @@ void populateFuncParamCB(QComboBox *b, const ModelData & model, uint function, u
}
}
-void populateRepeatCB(QComboBox *b, unsigned int value)
-{
- b->clear();
- b->addItem(QObject::tr("No repeat", 0));
- unsigned int step = IS_ARM(GetEepromInterface()->getBoard()) ? 5 : 10;
- for (unsigned int i=step; i<=60; i+=step) {
- b->addItem(QObject::tr("%1s").arg(i), i);
- if (i==value) b->setCurrentIndex(b->count()-1);
- }
-}
-
void populateGVmodeCB(QComboBox *b, unsigned int value)
{
b->clear();
diff --git a/companion/src/helpers.h b/companion/src/helpers.h
index f62e9b39e..d3141083d 100644
--- a/companion/src/helpers.h
+++ b/companion/src/helpers.h
@@ -84,7 +84,6 @@ class CurveGroup : public QObject {
#define POPULATE_AND_SWITCHES 0x04
void populateSwitchCB(QComboBox *b, const RawSwitch & value, unsigned long attr=0, UseContext context=DefaultContext);
void populateFuncCB(QComboBox *b, unsigned int value);
-void populateRepeatCB(QComboBox *b, unsigned int value);
void populateGVmodeCB(QComboBox *b, unsigned int value);
QString FuncParam(uint function, int value, QString paramT="",unsigned int adjustmode=0);
void populateFuncParamCB(QComboBox *b, const ModelData & model, uint function, unsigned int value, unsigned int adjustmode=0);
diff --git a/companion/src/icon.ico b/companion/src/icon.ico
index bb088b1ae..e81c703b7 100644
Binary files a/companion/src/icon.ico and b/companion/src/icon.ico differ
diff --git a/companion/src/icon.png b/companion/src/icon.png
index 6ceee4f23..2936917c7 100644
Binary files a/companion/src/icon.png and b/companion/src/icon.png differ
diff --git a/companion/src/images/companion-title.png b/companion/src/images/companion-title.png
index cbaa0d13b..05f3b8709 100644
Binary files a/companion/src/images/companion-title.png and b/companion/src/images/companion-title.png differ
diff --git a/companion/src/images/iconmac.icns b/companion/src/images/iconmac.icns
index 0e20c9fe3..579b285c1 100644
Binary files a/companion/src/images/iconmac.icns and b/companion/src/images/iconmac.icns differ
diff --git a/companion/src/images/linuxicons/128x128/companion.png b/companion/src/images/linuxicons/128x128/companion.png
index 6f1616ca2..9b4ad31a2 100644
Binary files a/companion/src/images/linuxicons/128x128/companion.png and b/companion/src/images/linuxicons/128x128/companion.png differ
diff --git a/companion/src/images/linuxicons/256x256/companion.png b/companion/src/images/linuxicons/256x256/companion.png
index 684517666..1ed7a9ae9 100644
Binary files a/companion/src/images/linuxicons/256x256/companion.png and b/companion/src/images/linuxicons/256x256/companion.png differ
diff --git a/companion/src/images/linuxicons/32x32/companion.png b/companion/src/images/linuxicons/32x32/companion.png
index df79707a5..0b7375c0c 100644
Binary files a/companion/src/images/linuxicons/32x32/companion.png and b/companion/src/images/linuxicons/32x32/companion.png differ
diff --git a/companion/src/images/linuxicons/48x48/companion.png b/companion/src/images/linuxicons/48x48/companion.png
index 99357930d..d591f97d2 100644
Binary files a/companion/src/images/linuxicons/48x48/companion.png and b/companion/src/images/linuxicons/48x48/companion.png differ
diff --git a/companion/src/images/linuxicons/512x512/companion.png b/companion/src/images/linuxicons/512x512/companion.png
index 7e9078b2e..6938b2c42 100644
Binary files a/companion/src/images/linuxicons/512x512/companion.png and b/companion/src/images/linuxicons/512x512/companion.png differ
diff --git a/companion/src/images/linuxicons/scalable/companion.svg b/companion/src/images/linuxicons/scalable/companion.svg
index 40a99a3b0..95f040b15 100644
--- a/companion/src/images/linuxicons/scalable/companion.svg
+++ b/companion/src/images/linuxicons/scalable/companion.svg
@@ -1,104 +1,340 @@
-
-
-
\ No newline at end of file
+
+
\ No newline at end of file
diff --git a/companion/src/images/originals/logotypes/open_companion_logo.png b/companion/src/images/originals/logotypes/open_companion_logo.png
deleted file mode 100644
index 2080d783d..000000000
Binary files a/companion/src/images/originals/logotypes/open_companion_logo.png and /dev/null differ
diff --git a/companion/src/images/originals/logotypes/opentx_2_logo.png b/companion/src/images/originals/logotypes/opentx_2_logo.png
index 9f5aa12fe..aae169a8a 100644
Binary files a/companion/src/images/originals/logotypes/opentx_2_logo.png and b/companion/src/images/originals/logotypes/opentx_2_logo.png differ
diff --git a/companion/src/images/originals/logotypes/opentx_2_logo.svg b/companion/src/images/originals/logotypes/opentx_2_logo.svg
index 604964897..41b597ebe 100644
--- a/companion/src/images/originals/logotypes/opentx_2_logo.svg
+++ b/companion/src/images/originals/logotypes/opentx_2_logo.svg
@@ -2,11 +2,13 @@
diff --git a/companion/src/images/originals/logotypes/opentx_2_logo_v2.png b/companion/src/images/originals/logotypes/opentx_2_logo_v2.png
deleted file mode 100644
index eede30674..000000000
Binary files a/companion/src/images/originals/logotypes/opentx_2_logo_v2.png and /dev/null differ
diff --git a/companion/src/images/originals/logotypes/opentx_2_logo_v2.svg b/companion/src/images/originals/logotypes/opentx_2_logo_v2.svg
deleted file mode 100644
index 3dad40fc8..000000000
--- a/companion/src/images/originals/logotypes/opentx_2_logo_v2.svg
+++ /dev/null
@@ -1,66 +0,0 @@
-
-
-
diff --git a/companion/src/images/originals/logotypes/opentx_companion_logo.png b/companion/src/images/originals/logotypes/opentx_companion_logo.png
new file mode 100644
index 000000000..a7c3a9032
Binary files /dev/null and b/companion/src/images/originals/logotypes/opentx_companion_logo.png differ
diff --git a/companion/src/images/originals/logotypes/opentx_companion_logo.svg b/companion/src/images/originals/logotypes/opentx_companion_logo.svg
index 42a984a80..90a78b883 100644
--- a/companion/src/images/originals/logotypes/opentx_companion_logo.svg
+++ b/companion/src/images/originals/logotypes/opentx_companion_logo.svg
@@ -2,31 +2,81 @@