Merge remote-tracking branch 'origin/next' into
bsongis/Issue554_trims_relative_default Conflicts: radio/src/gui/menu_model.cpp
|
@ -307,3 +307,6 @@ Bradley Murchie
|
||||||
Maximilian Süß
|
Maximilian Süß
|
||||||
Dean Jansa
|
Dean Jansa
|
||||||
Ronald Donker
|
Ronald Donker
|
||||||
|
Paul Oldenkamp
|
||||||
|
Dietmar Drees
|
||||||
|
Bradley Murchie
|
||||||
|
|
|
@ -296,7 +296,7 @@ INCLUDE_DIRECTORIES( ${CMAKE_BINARY_DIR} )
|
||||||
INCLUDE_DIRECTORIES( ${CMAKE_SOURCE_DIR} )
|
INCLUDE_DIRECTORIES( ${CMAKE_SOURCE_DIR} )
|
||||||
|
|
||||||
|
|
||||||
SET( LANGUAGES he pt ru de fr it sv cs )
|
SET( LANGUAGES he pl pt ru de fr it sv cs )
|
||||||
FOREACH( language ${LANGUAGES} )
|
FOREACH( language ${LANGUAGES} )
|
||||||
SET( companion_TS ${companion_TS} translations/companion_${language}.ts )
|
SET( companion_TS ${companion_TS} translations/companion_${language}.ts )
|
||||||
ENDFOREACH( language )
|
ENDFOREACH( language )
|
||||||
|
|
|
@ -67,7 +67,7 @@ RawSourceRange RawSource::getRange(bool singleprec)
|
||||||
case TELEMETRY_SOURCE_A1:
|
case TELEMETRY_SOURCE_A1:
|
||||||
case TELEMETRY_SOURCE_A2:
|
case TELEMETRY_SOURCE_A2:
|
||||||
if (model) {
|
if (model) {
|
||||||
FrSkyChannelData channel = model->frsky.channels[index-TELEMETRY_SOURCE_A1]; // TODO const &
|
const FrSkyChannelData & channel = model->frsky.channels[index-TELEMETRY_SOURCE_A1];
|
||||||
float ratio = channel.getRatio();
|
float ratio = channel.getRatio();
|
||||||
if (channel.type==0 || channel.type==1 || channel.type==2)
|
if (channel.type==0 || channel.type==1 || channel.type==2)
|
||||||
result.decimals = 2;
|
result.decimals = 2;
|
||||||
|
@ -239,12 +239,14 @@ QString SwitchDn(const char sw)
|
||||||
|
|
||||||
QString RawSwitch::toString()
|
QString RawSwitch::toString()
|
||||||
{
|
{
|
||||||
static const QString switches9X[] = { QObject::tr("THR"), QObject::tr("RUD"), QObject::tr("ELE"),
|
static const QString switches9X[] = {
|
||||||
QObject::tr("ID0"), QObject::tr("ID1"), QObject::tr("ID2"),
|
QString("THR"), QString("RUD"), QString("ELE"),
|
||||||
QObject::tr("AIL"), QObject::tr("GEA"), QObject::tr("TRN")
|
QString("ID0"), QString("ID1"), QString("ID2"),
|
||||||
|
QString("AIL"), QString("GEA"), QString("TRN")
|
||||||
};
|
};
|
||||||
|
|
||||||
static const QString switchesX9D[] = { SwitchUp('A'), QString::fromUtf8("SA-"), SwitchDn('A'),
|
static const QString switchesX9D[] = {
|
||||||
|
SwitchUp('A'), QString::fromUtf8("SA-"), SwitchDn('A'),
|
||||||
SwitchUp('B'), QString::fromUtf8("SB-"), SwitchDn('B'),
|
SwitchUp('B'), QString::fromUtf8("SB-"), SwitchDn('B'),
|
||||||
SwitchUp('C'), QString::fromUtf8("SC-"), SwitchDn('C'),
|
SwitchUp('C'), QString::fromUtf8("SC-"), SwitchDn('C'),
|
||||||
SwitchUp('D'), QString::fromUtf8("SD-"), SwitchDn('D'),
|
SwitchUp('D'), QString::fromUtf8("SD-"), SwitchDn('D'),
|
||||||
|
@ -254,12 +256,18 @@ QString RawSwitch::toString()
|
||||||
SwitchUp('H'), SwitchDn('H'),
|
SwitchUp('H'), SwitchDn('H'),
|
||||||
};
|
};
|
||||||
|
|
||||||
static const QString virtualSwitches[] = { QObject::tr("LS1"), QObject::tr("LS2"), QObject::tr("LS3"), QObject::tr("LS4"), QObject::tr("LS5"), QObject::tr("LS6"), QObject::tr("LS7"), QObject::tr("LS8"), QObject::tr("LS9"), QObject::tr("LSA"),
|
static const QString virtualSwitches[] = {
|
||||||
|
QObject::tr("LS1"), QObject::tr("LS2"), QObject::tr("LS3"), QObject::tr("LS4"), QObject::tr("LS5"), QObject::tr("LS6"), QObject::tr("LS7"), QObject::tr("LS8"), QObject::tr("LS9"), QObject::tr("LSA"),
|
||||||
QObject::tr("LSB"), QObject::tr("LSC"), QObject::tr("LSD"), QObject::tr("LSE"), QObject::tr("LSF"), QObject::tr("LSG"), QObject::tr("LSH"), QObject::tr("LSI"), QObject::tr("LSJ"), QObject::tr("LSK"),
|
QObject::tr("LSB"), QObject::tr("LSC"), QObject::tr("LSD"), QObject::tr("LSE"), QObject::tr("LSF"), QObject::tr("LSG"), QObject::tr("LSH"), QObject::tr("LSI"), QObject::tr("LSJ"), QObject::tr("LSK"),
|
||||||
QObject::tr("LSL"), QObject::tr("LSM"), QObject::tr("LSN"), QObject::tr("LSO"), QObject::tr("LSP"), QObject::tr("LSQ"), QObject::tr("LSR"), QObject::tr("LSS"), QObject::tr("LST"), QObject::tr("LSU"),
|
QObject::tr("LSL"), QObject::tr("LSM"), QObject::tr("LSN"), QObject::tr("LSO"), QObject::tr("LSP"), QObject::tr("LSQ"), QObject::tr("LSR"), QObject::tr("LSS"), QObject::tr("LST"), QObject::tr("LSU"),
|
||||||
QObject::tr("LSV"), QObject::tr("LSW")
|
QObject::tr("LSV"), QObject::tr("LSW")
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static const QString multiposPots[] = {
|
||||||
|
QObject::tr("S11"), QObject::tr("S12"), QObject::tr("S13"), QObject::tr("S14"), QObject::tr("S15"), QObject::tr("S16"),
|
||||||
|
QObject::tr("S21"), QObject::tr("S22"), QObject::tr("S23"), QObject::tr("S24"), QObject::tr("S25"), QObject::tr("S26")
|
||||||
|
};
|
||||||
|
|
||||||
switch(type) {
|
switch(type) {
|
||||||
case SWITCH_TYPE_SWITCH:
|
case SWITCH_TYPE_SWITCH:
|
||||||
if (IS_TARANIS(GetEepromInterface()->getBoard()))
|
if (IS_TARANIS(GetEepromInterface()->getBoard()))
|
||||||
|
@ -268,6 +276,8 @@ QString RawSwitch::toString()
|
||||||
return index > 0 ? CHECK_IN_ARRAY(switches9X, index-1) : QString("!") + CHECK_IN_ARRAY(switches9X, -index-1);
|
return index > 0 ? CHECK_IN_ARRAY(switches9X, index-1) : QString("!") + CHECK_IN_ARRAY(switches9X, -index-1);
|
||||||
case SWITCH_TYPE_VIRTUAL:
|
case SWITCH_TYPE_VIRTUAL:
|
||||||
return index > 0 ? CHECK_IN_ARRAY(virtualSwitches, index-1) : QString("!") + CHECK_IN_ARRAY(virtualSwitches, -index-1);
|
return index > 0 ? CHECK_IN_ARRAY(virtualSwitches, index-1) : QString("!") + CHECK_IN_ARRAY(virtualSwitches, -index-1);
|
||||||
|
case SWITCH_TYPE_MULTIPOS_POT:
|
||||||
|
return CHECK_IN_ARRAY(multiposPots, index);
|
||||||
case SWITCH_TYPE_ON:
|
case SWITCH_TYPE_ON:
|
||||||
return QObject::tr("ON");
|
return QObject::tr("ON");
|
||||||
case SWITCH_TYPE_ONM:
|
case SWITCH_TYPE_ONM:
|
||||||
|
|
|
@ -356,6 +356,7 @@ enum RawSwitchType {
|
||||||
SWITCH_TYPE_NONE,
|
SWITCH_TYPE_NONE,
|
||||||
SWITCH_TYPE_SWITCH,
|
SWITCH_TYPE_SWITCH,
|
||||||
SWITCH_TYPE_VIRTUAL,
|
SWITCH_TYPE_VIRTUAL,
|
||||||
|
SWITCH_TYPE_MULTIPOS_POT,
|
||||||
SWITCH_TYPE_MOMENT_SWITCH,
|
SWITCH_TYPE_MOMENT_SWITCH,
|
||||||
SWITCH_TYPE_MOMENT_VIRTUAL,
|
SWITCH_TYPE_MOMENT_VIRTUAL,
|
||||||
SWITCH_TYPE_ON,
|
SWITCH_TYPE_ON,
|
||||||
|
@ -503,6 +504,7 @@ class GeneralSettings {
|
||||||
unsigned int mavbaud;
|
unsigned int mavbaud;
|
||||||
unsigned int switchUnlockStates;
|
unsigned int switchUnlockStates;
|
||||||
unsigned int hw_uartMode;
|
unsigned int hw_uartMode;
|
||||||
|
unsigned int potsType[8];
|
||||||
};
|
};
|
||||||
|
|
||||||
class CurveReference {
|
class CurveReference {
|
||||||
|
@ -738,7 +740,7 @@ class FrSkyChannelData {
|
||||||
unsigned int multiplier;
|
unsigned int multiplier;
|
||||||
FrSkyAlarmData alarms[2];
|
FrSkyAlarmData alarms[2];
|
||||||
|
|
||||||
float getRatio()
|
float getRatio() const
|
||||||
{
|
{
|
||||||
if (type==0 || type==1 || type==2)
|
if (type==0 || type==1 || type==2)
|
||||||
return float(ratio << multiplier) / 10.0;
|
return float(ratio << multiplier) / 10.0;
|
||||||
|
@ -1053,7 +1055,9 @@ enum Capability {
|
||||||
EnhancedCurves,
|
EnhancedCurves,
|
||||||
TelemetryInternalAlarms,
|
TelemetryInternalAlarms,
|
||||||
HasFasOffset,
|
HasFasOffset,
|
||||||
HasMahPersistent
|
HasMahPersistent,
|
||||||
|
MultiposPots,
|
||||||
|
MultiposPotsPositions
|
||||||
};
|
};
|
||||||
|
|
||||||
enum UseContext {
|
enum UseContext {
|
||||||
|
|
|
@ -56,21 +56,29 @@ class SwitchesConversionTable: public ConversionTable {
|
||||||
addConversion(RawSwitch(SWITCH_TYPE_VIRTUAL, i), val++);
|
addConversion(RawSwitch(SWITCH_TYPE_VIRTUAL, i), val++);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (IS_TARANIS(board) && version >= 216) {
|
||||||
|
for (int i=0; i<2; i++) {
|
||||||
|
for (int j=0; j<6; j++) {
|
||||||
|
addConversion(RawSwitch(SWITCH_TYPE_MULTIPOS_POT, i*6+j), val++);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
addConversion(RawSwitch(SWITCH_TYPE_OFF), -val);
|
addConversion(RawSwitch(SWITCH_TYPE_OFF), -val);
|
||||||
addConversion(RawSwitch(SWITCH_TYPE_ON), val++);
|
addConversion(RawSwitch(SWITCH_TYPE_ON), val++);
|
||||||
|
|
||||||
for (int i=1; i<=MAX_SWITCHES_POSITION(board); i++) {
|
for (int i=1; i<=MAX_SWITCHES_POSITION(board); i++) {
|
||||||
int s = switchIndex(i, board, version);
|
int s = switchIndex(i, board, version);
|
||||||
addConversion(RawSwitch(SWITCH_TYPE_MOMENT_SWITCH, -s), -val);
|
// addConversion(RawSwitch(SWITCH_TYPE_MOMENT_SWITCH, -s), -val);
|
||||||
addConversion(RawSwitch(SWITCH_TYPE_MOMENT_SWITCH, s), val++);
|
addConversion(RawSwitch(SWITCH_TYPE_MOMENT_SWITCH, s), val++);
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int i=1; i<=MAX_CUSTOM_SWITCHES(board, version); i++) {
|
for (int i=1; i<=MAX_CUSTOM_SWITCHES(board, version); i++) {
|
||||||
addConversion(RawSwitch(SWITCH_TYPE_MOMENT_VIRTUAL, -i), -val);
|
// addConversion(RawSwitch(SWITCH_TYPE_MOMENT_VIRTUAL, -i), -val);
|
||||||
addConversion(RawSwitch(SWITCH_TYPE_MOMENT_VIRTUAL, i), val++);
|
addConversion(RawSwitch(SWITCH_TYPE_MOMENT_VIRTUAL, i), val++);
|
||||||
}
|
}
|
||||||
|
|
||||||
addConversion(RawSwitch(SWITCH_TYPE_ONM, 1 ), -val);
|
// addConversion(RawSwitch(SWITCH_TYPE_ONM, 1 ), -val);
|
||||||
addConversion(RawSwitch(SWITCH_TYPE_ONM, 0 ), val++);
|
addConversion(RawSwitch(SWITCH_TYPE_ONM, 0 ), val++);
|
||||||
addConversion(RawSwitch(SWITCH_TYPE_TRN, 0), val++);
|
addConversion(RawSwitch(SWITCH_TYPE_TRN, 0), val++);
|
||||||
addConversion(RawSwitch(SWITCH_TYPE_TRN, 1), val++);
|
addConversion(RawSwitch(SWITCH_TYPE_TRN, 1), val++);
|
||||||
|
@ -2036,12 +2044,21 @@ Open9xGeneralDataNew::Open9xGeneralDataNew(GeneralSettings & generalData, BoardE
|
||||||
if (version >= 213 || (!IS_ARM(board) && version >= 212))
|
if (version >= 213 || (!IS_ARM(board) && version >= 212))
|
||||||
internalField.Append(new UnsignedField<16>(generalData.variant));
|
internalField.Append(new UnsignedField<16>(generalData.variant));
|
||||||
|
|
||||||
|
if (version >= 216) {
|
||||||
|
for (int i=0; i<inputsCount; i++) {
|
||||||
|
internalField.Append(new SignedField<16>(generalData.calibMid[i]));
|
||||||
|
internalField.Append(new SignedField<16>(generalData.calibSpanNeg[i]));
|
||||||
|
internalField.Append(new SignedField<16>(generalData.calibSpanPos[i]));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
for (int i=0; i<inputsCount; i++)
|
for (int i=0; i<inputsCount; i++)
|
||||||
internalField.Append(new SignedField<16>(generalData.calibMid[i]));
|
internalField.Append(new SignedField<16>(generalData.calibMid[i]));
|
||||||
for (int i=0; i<inputsCount; i++)
|
for (int i=0; i<inputsCount; i++)
|
||||||
internalField.Append(new SignedField<16>(generalData.calibSpanNeg[i]));
|
internalField.Append(new SignedField<16>(generalData.calibSpanNeg[i]));
|
||||||
for (int i=0; i<inputsCount; i++)
|
for (int i=0; i<inputsCount; i++)
|
||||||
internalField.Append(new SignedField<16>(generalData.calibSpanPos[i]));
|
internalField.Append(new SignedField<16>(generalData.calibSpanPos[i]));
|
||||||
|
}
|
||||||
|
|
||||||
internalField.Append(new UnsignedField<16>(chkSum));
|
internalField.Append(new UnsignedField<16>(chkSum));
|
||||||
internalField.Append(new UnsignedField<8>(generalData.currModel));
|
internalField.Append(new UnsignedField<8>(generalData.currModel));
|
||||||
|
@ -2135,8 +2152,11 @@ Open9xGeneralDataNew::Open9xGeneralDataNew(GeneralSettings & generalData, BoardE
|
||||||
internalField.Append(new SignedField<8>(generalData.varioVolume));
|
internalField.Append(new SignedField<8>(generalData.varioVolume));
|
||||||
internalField.Append(new SignedField<8>(generalData.backgroundVolume));
|
internalField.Append(new SignedField<8>(generalData.backgroundVolume));
|
||||||
}
|
}
|
||||||
if (version >= 216) {
|
if (IS_TARANIS(board) && version >= 216) {
|
||||||
internalField.Append(new UnsignedField<8>(generalData.hw_uartMode));
|
internalField.Append(new UnsignedField<8>(generalData.hw_uartMode));
|
||||||
|
for (int i=0; i<8; i++) {
|
||||||
|
internalField.Append(new UnsignedField<1>(generalData.potsType[i]));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -682,6 +682,10 @@ int Open9xInterface::getCapability(const Capability capability)
|
||||||
return (IS_STOCK(board) ? false : true);
|
return (IS_STOCK(board) ? false : true);
|
||||||
case HasMahPersistent:
|
case HasMahPersistent:
|
||||||
return (IS_ARM(board) ? true : false);
|
return (IS_ARM(board) ? true : false);
|
||||||
|
case MultiposPots:
|
||||||
|
return IS_TARANIS(board) ? 2 : 0;
|
||||||
|
case MultiposPotsPositions:
|
||||||
|
return IS_TARANIS(board) ? 6 : 0;
|
||||||
default:
|
default:
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -64,7 +64,8 @@ GeneralEdit::GeneralEdit(RadioData &radioData, QWidget *parent) :
|
||||||
}
|
}
|
||||||
this->layout()->removeItem(ui->TaranisReadOnlyUnlock);
|
this->layout()->removeItem(ui->TaranisReadOnlyUnlock);
|
||||||
}
|
}
|
||||||
} else {
|
}
|
||||||
|
else {
|
||||||
for (int i=0; pmsl[i]; i++) {
|
for (int i=0; pmsl[i]; i++) {
|
||||||
pmsl[i]->hide();
|
pmsl[i]->hide();
|
||||||
}
|
}
|
||||||
|
@ -373,6 +374,18 @@ GeneralEdit::GeneralEdit(RadioData &radioData, QWidget *parent) :
|
||||||
for (int i=0; tpmsld[i]; i++) {
|
for (int i=0; tpmsld[i]; i++) {
|
||||||
connect(tpmsld[i], SIGNAL(valueChanged(int)),this,SLOT(unlockSwitchEdited()));
|
connect(tpmsld[i], SIGNAL(valueChanged(int)),this,SLOT(unlockSwitchEdited()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (GetEepromInterface()->getCapability(MultiposPots)) {
|
||||||
|
ui->pot1Type->setCurrentIndex(g_eeGeneral.potsType[0]);
|
||||||
|
ui->pot2Type->setCurrentIndex(g_eeGeneral.potsType[1]);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
ui->potsTypeSeparator->hide();
|
||||||
|
ui->pot1Type->hide();
|
||||||
|
ui->pot1TypeLabel->hide();
|
||||||
|
ui->pot2Type->hide();
|
||||||
|
ui->pot2TypeLabel->hide();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
GeneralEdit::~GeneralEdit()
|
GeneralEdit::~GeneralEdit()
|
||||||
|
@ -380,6 +393,18 @@ GeneralEdit::~GeneralEdit()
|
||||||
delete ui;
|
delete ui;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void GeneralEdit::on_pot1Type_currentIndexChanged(int index)
|
||||||
|
{
|
||||||
|
g_eeGeneral.potsType[0] = index;
|
||||||
|
updateSettings();
|
||||||
|
}
|
||||||
|
|
||||||
|
void GeneralEdit::on_pot2Type_currentIndexChanged(int index)
|
||||||
|
{
|
||||||
|
g_eeGeneral.potsType[1] = index;
|
||||||
|
updateSettings();
|
||||||
|
}
|
||||||
|
|
||||||
void GeneralEdit::unlockSwitchEdited()
|
void GeneralEdit::unlockSwitchEdited()
|
||||||
{
|
{
|
||||||
int i=0;
|
int i=0;
|
||||||
|
|
|
@ -119,6 +119,9 @@ private slots:
|
||||||
void on_varioVolume_SL_valueChanged();
|
void on_varioVolume_SL_valueChanged();
|
||||||
void on_wavVolume_SL_valueChanged();
|
void on_wavVolume_SL_valueChanged();
|
||||||
|
|
||||||
|
void on_pot1Type_currentIndexChanged(int index);
|
||||||
|
void on_pot2Type_currentIndexChanged(int index);
|
||||||
|
|
||||||
void on_stickmodeCB_currentIndexChanged(int index);
|
void on_stickmodeCB_currentIndexChanged(int index);
|
||||||
void on_channelorderCB_currentIndexChanged(int index);
|
void on_channelorderCB_currentIndexChanged(int index);
|
||||||
void on_beeperCB_currentIndexChanged(int index);
|
void on_beeperCB_currentIndexChanged(int index);
|
||||||
|
|
|
@ -110,7 +110,7 @@
|
||||||
These will be relevant for all models in the same EEPROM.</string>
|
These will be relevant for all models in the same EEPROM.</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="currentIndex">
|
<property name="currentIndex">
|
||||||
<number>0</number>
|
<number>3</number>
|
||||||
</property>
|
</property>
|
||||||
<widget class="QWidget" name="tabSetup">
|
<widget class="QWidget" name="tabSetup">
|
||||||
<attribute name="title">
|
<attribute name="title">
|
||||||
|
@ -3494,6 +3494,91 @@ p, li { white-space: pre-wrap; }
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="5" column="0" colspan="4">
|
||||||
|
<widget class="Line" name="potsTypeSeparator">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>0</width>
|
||||||
|
<height>10</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="6" column="1">
|
||||||
|
<widget class="QComboBox" name="pot1Type">
|
||||||
|
<property name="toolTip">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
<property name="statusTip">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
<property name="whatsThis">
|
||||||
|
<string>Beeper volume
|
||||||
|
|
||||||
|
0 - Quiet. No beeps at all.
|
||||||
|
1 - No Keys. Normal beeps but menu keys do not beep.
|
||||||
|
2 - Normal.
|
||||||
|
3 - Loud.
|
||||||
|
4 - Extra loud.</string>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Pot (normal)</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Multipos Switch</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="6" column="0">
|
||||||
|
<widget class="QLabel" name="pot1TypeLabel">
|
||||||
|
<property name="text">
|
||||||
|
<string>S1 Type</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="7" column="1">
|
||||||
|
<widget class="QComboBox" name="pot2Type">
|
||||||
|
<property name="toolTip">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
<property name="statusTip">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
<property name="whatsThis">
|
||||||
|
<string>Beeper volume
|
||||||
|
|
||||||
|
0 - Quiet. No beeps at all.
|
||||||
|
1 - No Keys. Normal beeps but menu keys do not beep.
|
||||||
|
2 - Normal.
|
||||||
|
3 - Loud.
|
||||||
|
4 - Extra loud.</string>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Pot (normal)</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Multipos Switch</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="7" column="0">
|
||||||
|
<widget class="QLabel" name="pot2TypeLabel">
|
||||||
|
<property name="text">
|
||||||
|
<string>S2 Type</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</widget>
|
</widget>
|
||||||
|
|
|
@ -829,6 +829,8 @@ void populateSwitchCB(QComboBox *b, const RawSwitch & value, unsigned long attr,
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if 0
|
||||||
|
// TODO check ... I removed negative toggle switches in the FW, no?
|
||||||
if (attr & POPULATE_MSWITCHES) {
|
if (attr & POPULATE_MSWITCHES) {
|
||||||
if (attr & POPULATE_ONOFF) {
|
if (attr & POPULATE_ONOFF) {
|
||||||
item = RawSwitch(SWITCH_TYPE_ONM, 1);
|
item = RawSwitch(SWITCH_TYPE_ONM, 1);
|
||||||
|
@ -847,6 +849,7 @@ void populateSwitchCB(QComboBox *b, const RawSwitch & value, unsigned long attr,
|
||||||
if (item == value) b->setCurrentIndex(b->count()-1);
|
if (item == value) b->setCurrentIndex(b->count()-1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
if (attr & POPULATE_ONOFF) {
|
if (attr & POPULATE_ONOFF) {
|
||||||
item = RawSwitch(SWITCH_TYPE_OFF);
|
item = RawSwitch(SWITCH_TYPE_OFF);
|
||||||
|
@ -892,6 +895,14 @@ void populateSwitchCB(QComboBox *b, const RawSwitch & value, unsigned long attr,
|
||||||
if (item == value) b->setCurrentIndex(b->count()-1);
|
if (item == value) b->setCurrentIndex(b->count()-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (IS_TARANIS(GetEepromInterface()->getBoard())) {
|
||||||
|
for (int i=0; i<GetEepromInterface()->getCapability(MultiposPots) * GetEepromInterface()->getCapability(MultiposPotsPositions); i++) {
|
||||||
|
item = RawSwitch(SWITCH_TYPE_MULTIPOS_POT, i);
|
||||||
|
b->addItem(item.toString(), item.toValue());
|
||||||
|
if (item == value) b->setCurrentIndex(b->count()-1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (attr & POPULATE_ONOFF) {
|
if (attr & POPULATE_ONOFF) {
|
||||||
item = RawSwitch(SWITCH_TYPE_ON);
|
item = RawSwitch(SWITCH_TYPE_ON);
|
||||||
b->addItem(item.toString(), item.toValue());
|
b->addItem(item.toString(), item.toValue());
|
||||||
|
@ -1073,7 +1084,8 @@ void populateSourceCB(QComboBox *b, const RawSource & source, const ModelData &
|
||||||
b->addItem(item.toString(), item.toValue());
|
b->addItem(item.toString(), item.toValue());
|
||||||
if (item == source) b->setCurrentIndex(b->count()-1);
|
if (item == source) b->setCurrentIndex(b->count()-1);
|
||||||
}
|
}
|
||||||
} else if (flags & POPULATE_TELEMETRY) {
|
}
|
||||||
|
else if (flags & POPULATE_TELEMETRY) {
|
||||||
for (int i=0; i<TELEMETRY_SOURCES_COUNT; i++) {
|
for (int i=0; i<TELEMETRY_SOURCES_COUNT; i++) {
|
||||||
item = RawSource(SOURCE_TYPE_TELEMETRY, i);
|
item = RawSource(SOURCE_TYPE_TELEMETRY, i);
|
||||||
b->addItem(item.toString(), item.toValue());
|
b->addItem(item.toString(), item.toValue());
|
||||||
|
|
10
companion/src/images/originals/scripts/addblackoutline.sh
Executable file
|
@ -0,0 +1,10 @@
|
||||||
|
#!/bin/bash
|
||||||
|
for file in $(ls *png)
|
||||||
|
do
|
||||||
|
convert $file \( +clone \
|
||||||
|
-channel A -morphology EdgeOut Diamond +channel \
|
||||||
|
+level-colors black \
|
||||||
|
\) -compose DstOver -composite $file
|
||||||
|
done
|
||||||
|
|
||||||
|
|
Before Width: | Height: | Size: 250 B After Width: | Height: | Size: 145 B |
Before Width: | Height: | Size: 261 B After Width: | Height: | Size: 156 B |
Before Width: | Height: | Size: 264 B After Width: | Height: | Size: 160 B |
Before Width: | Height: | Size: 278 B After Width: | Height: | Size: 169 B |
Before Width: | Height: | Size: 278 B After Width: | Height: | Size: 162 B |
Before Width: | Height: | Size: 305 B After Width: | Height: | Size: 205 B |
Before Width: | Height: | Size: 384 B After Width: | Height: | Size: 364 B |
Before Width: | Height: | Size: 484 B After Width: | Height: | Size: 463 B |
Before Width: | Height: | Size: 289 B After Width: | Height: | Size: 176 B |
Before Width: | Height: | Size: 414 B After Width: | Height: | Size: 393 B |
Before Width: | Height: | Size: 481 B After Width: | Height: | Size: 494 B |
Before Width: | Height: | Size: 317 B After Width: | Height: | Size: 212 B |
Before Width: | Height: | Size: 321 B After Width: | Height: | Size: 196 B |
Before Width: | Height: | Size: 348 B After Width: | Height: | Size: 239 B |
Before Width: | Height: | Size: 450 B After Width: | Height: | Size: 426 B |
Before Width: | Height: | Size: 353 B After Width: | Height: | Size: 341 B |
Before Width: | Height: | Size: 265 B After Width: | Height: | Size: 158 B |
Before Width: | Height: | Size: 351 B After Width: | Height: | Size: 248 B |
Before Width: | Height: | Size: 324 B After Width: | Height: | Size: 206 B |
Before Width: | Height: | Size: 300 B After Width: | Height: | Size: 184 B |
Before Width: | Height: | Size: 285 B After Width: | Height: | Size: 175 B |
Before Width: | Height: | Size: 288 B After Width: | Height: | Size: 181 B |
Before Width: | Height: | Size: 278 B After Width: | Height: | Size: 180 B |
Before Width: | Height: | Size: 432 B After Width: | Height: | Size: 286 B |
Before Width: | Height: | Size: 337 B After Width: | Height: | Size: 227 B |
Before Width: | Height: | Size: 389 B After Width: | Height: | Size: 371 B |
Before Width: | Height: | Size: 374 B After Width: | Height: | Size: 258 B |
Before Width: | Height: | Size: 289 B After Width: | Height: | Size: 181 B |
Before Width: | Height: | Size: 304 B After Width: | Height: | Size: 292 B |
Before Width: | Height: | Size: 473 B After Width: | Height: | Size: 348 B |
Before Width: | Height: | Size: 388 B After Width: | Height: | Size: 283 B |
Before Width: | Height: | Size: 465 B After Width: | Height: | Size: 346 B |
Before Width: | Height: | Size: 311 B After Width: | Height: | Size: 199 B |
Before Width: | Height: | Size: 292 B After Width: | Height: | Size: 183 B |
Before Width: | Height: | Size: 303 B After Width: | Height: | Size: 195 B |
Before Width: | Height: | Size: 284 B After Width: | Height: | Size: 181 B |
Before Width: | Height: | Size: 295 B After Width: | Height: | Size: 144 B |
Before Width: | Height: | Size: 402 B After Width: | Height: | Size: 381 B |
Before Width: | Height: | Size: 393 B After Width: | Height: | Size: 344 B |
Before Width: | Height: | Size: 474 B After Width: | Height: | Size: 341 B |
Before Width: | Height: | Size: 388 B After Width: | Height: | Size: 287 B |
Before Width: | Height: | Size: 465 B After Width: | Height: | Size: 357 B |
Before Width: | Height: | Size: 261 B After Width: | Height: | Size: 343 B |
Before Width: | Height: | Size: 457 B After Width: | Height: | Size: 531 B |
Before Width: | Height: | Size: 448 B After Width: | Height: | Size: 525 B |
Before Width: | Height: | Size: 343 B After Width: | Height: | Size: 424 B |
Before Width: | Height: | Size: 471 B After Width: | Height: | Size: 571 B |
Before Width: | Height: | Size: 462 B After Width: | Height: | Size: 605 B |
Before Width: | Height: | Size: 398 B After Width: | Height: | Size: 557 B |
Before Width: | Height: | Size: 494 B After Width: | Height: | Size: 697 B |
Before Width: | Height: | Size: 359 B After Width: | Height: | Size: 443 B |
Before Width: | Height: | Size: 506 B After Width: | Height: | Size: 613 B |
Before Width: | Height: | Size: 577 B After Width: | Height: | Size: 848 B |
Before Width: | Height: | Size: 557 B After Width: | Height: | Size: 679 B |
Before Width: | Height: | Size: 428 B After Width: | Height: | Size: 589 B |
Before Width: | Height: | Size: 559 B After Width: | Height: | Size: 741 B |
Before Width: | Height: | Size: 581 B After Width: | Height: | Size: 756 B |
Before Width: | Height: | Size: 296 B After Width: | Height: | Size: 383 B |
Before Width: | Height: | Size: 297 B After Width: | Height: | Size: 377 B |
Before Width: | Height: | Size: 531 B After Width: | Height: | Size: 623 B |
Before Width: | Height: | Size: 408 B After Width: | Height: | Size: 537 B |
Before Width: | Height: | Size: 439 B After Width: | Height: | Size: 529 B |
Before Width: | Height: | Size: 438 B After Width: | Height: | Size: 528 B |
Before Width: | Height: | Size: 328 B After Width: | Height: | Size: 425 B |
Before Width: | Height: | Size: 352 B After Width: | Height: | Size: 477 B |
Before Width: | Height: | Size: 605 B After Width: | Height: | Size: 755 B |
Before Width: | Height: | Size: 392 B After Width: | Height: | Size: 515 B |
Before Width: | Height: | Size: 417 B After Width: | Height: | Size: 440 B |
Before Width: | Height: | Size: 501 B After Width: | Height: | Size: 724 B |
Before Width: | Height: | Size: 337 B After Width: | Height: | Size: 425 B |
Before Width: | Height: | Size: 293 B After Width: | Height: | Size: 372 B |
Before Width: | Height: | Size: 683 B After Width: | Height: | Size: 899 B |
Before Width: | Height: | Size: 581 B After Width: | Height: | Size: 853 B |
Before Width: | Height: | Size: 723 B After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 557 B After Width: | Height: | Size: 771 B |
Before Width: | Height: | Size: 304 B After Width: | Height: | Size: 378 B |
Before Width: | Height: | Size: 493 B After Width: | Height: | Size: 655 B |
Before Width: | Height: | Size: 394 B After Width: | Height: | Size: 446 B |
Before Width: | Height: | Size: 319 B After Width: | Height: | Size: 343 B |
Before Width: | Height: | Size: 501 B After Width: | Height: | Size: 594 B |
Before Width: | Height: | Size: 610 B After Width: | Height: | Size: 818 B |
Before Width: | Height: | Size: 690 B After Width: | Height: | Size: 901 B |
Before Width: | Height: | Size: 648 B After Width: | Height: | Size: 866 B |
Before Width: | Height: | Size: 734 B After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 376 B After Width: | Height: | Size: 444 B |
Before Width: | Height: | Size: 390 B After Width: | Height: | Size: 379 B |
Before Width: | Height: | Size: 386 B After Width: | Height: | Size: 379 B |
Before Width: | Height: | Size: 393 B After Width: | Height: | Size: 419 B |
Before Width: | Height: | Size: 396 B After Width: | Height: | Size: 395 B |