chore(cpn): remove redundant macro and unused fields (#7071)
This commit is contained in:
@@ -1181,9 +1181,4 @@ bool Boards::isSurface(Board::Type board)
|
||||
void Boards::tests()
|
||||
{
|
||||
qDebug() << "**** Board checks ****";
|
||||
for (int i = 0; i < BOARD_TYPE_COUNT; i++) {
|
||||
if (!IS_HORUS_OR_TARANIS((Type)i))
|
||||
qDebug() << "Not member of" << "IS_HORUS_OR_TARANIS" << getBoardName((Type)i);
|
||||
}
|
||||
qDebug() << "**** Board checks ****";
|
||||
}
|
||||
|
||||
@@ -816,11 +816,6 @@ inline bool IS_FAMILY_HORUS_OR_T16(Board::Type board)
|
||||
IS_FLYSKY_PA01(board)/*generally*/ || IS_FLYSKY_NB4P(board)/*generally*/;
|
||||
}
|
||||
|
||||
inline bool IS_HORUS_OR_TARANIS(Board::Type board)
|
||||
{
|
||||
return IS_FAMILY_HORUS_OR_T16(board) || IS_TARANIS(board);
|
||||
}
|
||||
|
||||
inline bool IS_STM32(Board::Type board)
|
||||
{
|
||||
return IS_TARANIS(board) || IS_FAMILY_HORUS_OR_T16(board) ||
|
||||
|
||||
@@ -245,15 +245,12 @@ bool CustomFunctionData::isFuncAvailable(const int index, const ModelData * mode
|
||||
Firmware * fw = getCurrentFirmware();
|
||||
|
||||
bool ret = (((index >= FuncOverrideCH1 && index <= FuncOverrideCHLast) && !fw->getCapability(SafetyChannelCustomFunction)) ||
|
||||
((index == FuncPlayScript && !IS_HORUS_OR_TARANIS(fw->getBoard()))) ||
|
||||
((index == FuncPlayHaptic) && !fw->getCapability(Haptic)) ||
|
||||
((index >= FuncSetTimer1 && index <= FuncSetTimerLast) &&
|
||||
(index > FuncSetTimer1 + fw->getCapability(Timers) ||
|
||||
(model ? model->timers[index - FuncSetTimer1].isModeOff() : false))) ||
|
||||
((index == FuncScreenshot) && !IS_HORUS_OR_TARANIS(fw->getBoard())) ||
|
||||
((index >= FuncRangeCheckInternalModule && index <= FuncBindExternalModule) && !fw->getCapability(DangerousFunctions)) ||
|
||||
((index >= FuncAdjustGV1 && index <= FuncAdjustGVLast) && ((index - FuncAdjustGV1) >= fw->getCapability(Gvars))) ||
|
||||
((index == FuncDisableTouch) && !IS_HORUS_OR_TARANIS(fw->getBoard())) ||
|
||||
((index == FuncDisableAudioAmp && !Boards::getCapability(fw->getBoard(), Board::HasAudioMuteGPIO))) ||
|
||||
((index == FuncRGBLed && !(Boards::getCapability(fw->getBoard(), Board::HasBlingLEDS) || Boards::getCapability(fw->getBoard(), Board::FunctionSwitchColors)))) ||
|
||||
((index == FuncLCDtoVideo && !IS_FATFISH_F16(fw->getBoard()))) ||
|
||||
|
||||
@@ -337,7 +337,6 @@ class GeneralSettings {
|
||||
int PPM_Multiplier;
|
||||
int hapticLength;
|
||||
unsigned int reNavigation;
|
||||
unsigned int stickReverse;
|
||||
unsigned int speakerPitch;
|
||||
int hapticStrength;
|
||||
char ownerName[OWNER_NAME_LEN + 1];
|
||||
@@ -373,7 +372,6 @@ class GeneralSettings {
|
||||
int varioRepeat;
|
||||
int backgroundVolume;
|
||||
unsigned int mavbaud;
|
||||
unsigned int switchUnlockStates;
|
||||
unsigned int serialPort[SP_COUNT];
|
||||
bool serialPower[SP_COUNT];
|
||||
int antennaMode;
|
||||
|
||||
@@ -531,10 +531,7 @@ ModelData ModelData::removeGlobalVars()
|
||||
|
||||
int ModelData::getChannelsMax(bool forceExtendedLimits) const
|
||||
{
|
||||
if (forceExtendedLimits || extendedLimits)
|
||||
return IS_HORUS_OR_TARANIS(getCurrentBoard()) ? 150 : 125;
|
||||
else
|
||||
return 100;
|
||||
return (forceExtendedLimits || extendedLimits) ? 150 : 100;
|
||||
}
|
||||
|
||||
bool ModelData::isFunctionSwitchPositionAvailable(int swIndex, int swPos, const GeneralSettings * const gs) const
|
||||
|
||||
@@ -85,90 +85,74 @@ bool ModuleData::isAvailable(PulsesProtocol proto, int port)
|
||||
|
||||
QString id = fw->getId();
|
||||
|
||||
if (IS_HORUS_OR_TARANIS(board)) {
|
||||
switch (port) {
|
||||
case 0:
|
||||
switch (proto) {
|
||||
case PULSES_OFF:
|
||||
return true;
|
||||
case PULSES_PXX_XJT_X16:
|
||||
case PULSES_PXX_XJT_LR12:
|
||||
return !IS_ACCESS_RADIO(board, id) && !IS_FAMILY_T16(board) && !IS_FAMILY_T12(board) && !IS_FLYSKY_NV14(board) && !IS_FLYSKY_EL18(board) && !IS_FLYSKY_PL18(board) && !IS_FLYSKY_ST16(board);
|
||||
case PULSES_PXX_XJT_D8:
|
||||
return !(IS_ACCESS_RADIO(board, id) || id.contains("eu")) && !IS_FAMILY_T16(board) && !IS_FAMILY_T12(board) && !IS_FLYSKY_NV14(board) && !IS_FLYSKY_EL18(board) && !IS_FLYSKY_PL18(board) && !IS_FLYSKY_ST16(board);
|
||||
case PULSES_ACCESS_ISRM:
|
||||
case PULSES_ACCST_ISRM_D16:
|
||||
return IS_ACCESS_RADIO(board, id);
|
||||
case PULSES_MULTIMODULE:
|
||||
return fw->getCapability(HasIntModuleMulti);
|
||||
case PULSES_CROSSFIRE:
|
||||
return fw->getCapability(HasIntModuleCRSF) || fw->getCapability(HasIntModuleELRS);
|
||||
case PULSES_FLYSKY_AFHDS2A:
|
||||
return IS_FLYSKY_NV14(board);
|
||||
case PULSES_FLYSKY_AFHDS3:
|
||||
return (IS_FLYSKY_EL18(board) || IS_FAMILY_PL18(board));
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
switch (port) {
|
||||
case 0:
|
||||
switch (proto) {
|
||||
case PULSES_OFF:
|
||||
return true;
|
||||
case PULSES_PXX_XJT_X16:
|
||||
case PULSES_PXX_XJT_LR12:
|
||||
return !IS_ACCESS_RADIO(board, id) && !IS_FAMILY_T16(board) && !IS_FAMILY_T12(board) && !IS_FLYSKY_NV14(board) && !IS_FLYSKY_EL18(board) && !IS_FLYSKY_PL18(board) && !IS_FLYSKY_ST16(board);
|
||||
case PULSES_PXX_XJT_D8:
|
||||
return !(IS_ACCESS_RADIO(board, id) || id.contains("eu")) && !IS_FAMILY_T16(board) && !IS_FAMILY_T12(board) && !IS_FLYSKY_NV14(board) && !IS_FLYSKY_EL18(board) && !IS_FLYSKY_PL18(board) && !IS_FLYSKY_ST16(board);
|
||||
case PULSES_ACCESS_ISRM:
|
||||
case PULSES_ACCST_ISRM_D16:
|
||||
return IS_ACCESS_RADIO(board, id);
|
||||
case PULSES_MULTIMODULE:
|
||||
return fw->getCapability(HasIntModuleMulti);
|
||||
case PULSES_CROSSFIRE:
|
||||
return fw->getCapability(HasIntModuleCRSF) || fw->getCapability(HasIntModuleELRS);
|
||||
case PULSES_FLYSKY_AFHDS2A:
|
||||
return IS_FLYSKY_NV14(board);
|
||||
case PULSES_FLYSKY_AFHDS3:
|
||||
return (IS_FLYSKY_EL18(board) || IS_FAMILY_PL18(board));
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
|
||||
case 1:
|
||||
switch (proto) {
|
||||
case PULSES_OFF:
|
||||
case PULSES_PPM:
|
||||
return true;
|
||||
case PULSES_PXX_XJT_X16:
|
||||
case PULSES_PXX_XJT_D8:
|
||||
case PULSES_PXX_XJT_LR12:
|
||||
return !(IS_TARANIS_XLITES(board) || IS_TARANIS_X9LITE(board));
|
||||
case PULSES_PXX_R9M:
|
||||
case PULSES_LP45:
|
||||
case PULSES_DSM2:
|
||||
case PULSES_DSMX:
|
||||
case PULSES_SBUS:
|
||||
case PULSES_MULTIMODULE:
|
||||
case PULSES_CROSSFIRE:
|
||||
case PULSES_FLYSKY_AFHDS2A:
|
||||
case PULSES_FLYSKY_AFHDS3:
|
||||
case PULSES_GHOST:
|
||||
return true;
|
||||
case PULSES_ACCESS_R9M:
|
||||
return IS_ACCESS_RADIO(board, id) || (IS_FAMILY_HORUS_OR_T16(board) && id.contains("externalaccessmod"));
|
||||
case PULSES_PXX_R9M_LITE:
|
||||
case PULSES_ACCESS_R9M_LITE:
|
||||
case PULSES_ACCESS_R9M_LITE_PRO:
|
||||
case PULSES_XJT_LITE_X16:
|
||||
case PULSES_XJT_LITE_D8:
|
||||
case PULSES_XJT_LITE_LR12:
|
||||
return (IS_TARANIS_XLITE(board) || IS_TARANIS_X9LITE(board) || IS_RADIOMASTER_ZORRO(board));
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
case 1:
|
||||
switch (proto) {
|
||||
case PULSES_OFF:
|
||||
case PULSES_PPM:
|
||||
return true;
|
||||
case PULSES_PXX_XJT_X16:
|
||||
case PULSES_PXX_XJT_D8:
|
||||
case PULSES_PXX_XJT_LR12:
|
||||
return !(IS_TARANIS_XLITES(board) || IS_TARANIS_X9LITE(board));
|
||||
case PULSES_PXX_R9M:
|
||||
case PULSES_LP45:
|
||||
case PULSES_DSM2:
|
||||
case PULSES_DSMX:
|
||||
case PULSES_SBUS:
|
||||
case PULSES_MULTIMODULE:
|
||||
case PULSES_CROSSFIRE:
|
||||
case PULSES_FLYSKY_AFHDS2A:
|
||||
case PULSES_FLYSKY_AFHDS3:
|
||||
case PULSES_GHOST:
|
||||
return true;
|
||||
case PULSES_ACCESS_R9M:
|
||||
return IS_ACCESS_RADIO(board, id) || (IS_FAMILY_HORUS_OR_T16(board) && id.contains("externalaccessmod"));
|
||||
case PULSES_PXX_R9M_LITE:
|
||||
case PULSES_ACCESS_R9M_LITE:
|
||||
case PULSES_ACCESS_R9M_LITE_PRO:
|
||||
case PULSES_XJT_LITE_X16:
|
||||
case PULSES_XJT_LITE_D8:
|
||||
case PULSES_XJT_LITE_LR12:
|
||||
return (IS_TARANIS_XLITE(board) || IS_TARANIS_X9LITE(board) || IS_RADIOMASTER_ZORRO(board));
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
|
||||
case -1:
|
||||
switch (proto) {
|
||||
case PULSES_PPM:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
case -1:
|
||||
switch (proto) {
|
||||
case PULSES_PPM:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else {
|
||||
switch (proto) {
|
||||
case PULSES_PPM:
|
||||
case PULSES_DSMX:
|
||||
case PULSES_LP45:
|
||||
case PULSES_DSM2:
|
||||
// case PULSES_PXX_DJT: // Unavailable for now
|
||||
case PULSES_PPM16:
|
||||
case PULSES_PPMSIM:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
|
||||
return false; // to avoid compiler warning
|
||||
@@ -273,12 +257,9 @@ QString ModuleData::indexToString(int index, Firmware * fw)
|
||||
if (index < 0)
|
||||
return tr("Trainer Port");
|
||||
|
||||
if (fw->getCapability(NumModules) > 1) {
|
||||
if (IS_HORUS_OR_TARANIS(fw->getBoard()))
|
||||
return index == 0 ? tr("Internal Radio System") : tr("External Radio Module");
|
||||
if (index > 0)
|
||||
return tr("Extra Radio System");
|
||||
}
|
||||
if (fw->getCapability(NumModules) > 1)
|
||||
return index == 0 ? tr("Internal Radio System") : tr("External Radio Module");
|
||||
|
||||
return tr("Radio System");
|
||||
}
|
||||
|
||||
@@ -519,107 +500,88 @@ bool ModuleData::isProtocolAvailable(int moduleidx, unsigned int protocol, Gener
|
||||
if (protocol == PULSES_OFF)
|
||||
return true;
|
||||
|
||||
Firmware *fw = getCurrentFirmware();
|
||||
Board::Type board = fw->getBoard();
|
||||
|
||||
if (moduleidx == 0)
|
||||
return (int)generalSettings.internalModule == getTypeFromProtocol(protocol);
|
||||
|
||||
if (IS_HORUS_OR_TARANIS(board)) {
|
||||
switch (moduleidx) {
|
||||
case 1: {
|
||||
const int moduleSize = g.currentProfile().externalModuleSize();
|
||||
const int moduleType = getTypeFromProtocol(protocol);
|
||||
switch (moduleidx) {
|
||||
case 1: {
|
||||
const int moduleSize = g.currentProfile().externalModuleSize();
|
||||
const int moduleType = getTypeFromProtocol(protocol);
|
||||
|
||||
switch(moduleSize) {
|
||||
case Board::EXTMODSIZE_NONE:
|
||||
return false;
|
||||
case Board::EXTMODSIZE_BOTH:
|
||||
switch (moduleType) {
|
||||
case MODULE_TYPE_XJT_PXX1:
|
||||
case MODULE_TYPE_ISRM_PXX2:
|
||||
case MODULE_TYPE_R9M_PXX1:
|
||||
case MODULE_TYPE_R9M_PXX2:
|
||||
case MODULE_TYPE_DSM2:
|
||||
case MODULE_TYPE_CROSSFIRE:
|
||||
case MODULE_TYPE_MULTIMODULE:
|
||||
case MODULE_TYPE_GHOST:
|
||||
case MODULE_TYPE_FLYSKY_AFHDS2A:
|
||||
case MODULE_TYPE_FLYSKY_AFHDS3:
|
||||
case MODULE_TYPE_LEMON_DSMP:
|
||||
case MODULE_TYPE_R9M_LITE_PXX1:
|
||||
case MODULE_TYPE_R9M_LITE_PXX2:
|
||||
case MODULE_TYPE_R9M_LITE_PRO_PXX2:
|
||||
case MODULE_TYPE_XJT_LITE_PXX2:
|
||||
case MODULE_TYPE_PPM:
|
||||
case MODULE_TYPE_SBUS:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
case Board::EXTMODSIZE_STD:
|
||||
switch (moduleType) {
|
||||
case MODULE_TYPE_XJT_PXX1:
|
||||
case MODULE_TYPE_ISRM_PXX2:
|
||||
case MODULE_TYPE_R9M_PXX1:
|
||||
case MODULE_TYPE_R9M_PXX2:
|
||||
case MODULE_TYPE_DSM2:
|
||||
case MODULE_TYPE_CROSSFIRE:
|
||||
case MODULE_TYPE_MULTIMODULE:
|
||||
case MODULE_TYPE_GHOST:
|
||||
case MODULE_TYPE_FLYSKY_AFHDS2A:
|
||||
case MODULE_TYPE_FLYSKY_AFHDS3:
|
||||
case MODULE_TYPE_LEMON_DSMP:
|
||||
case MODULE_TYPE_PPM:
|
||||
case MODULE_TYPE_SBUS:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
case Board::EXTMODSIZE_SMALL:
|
||||
switch (moduleType) {
|
||||
case MODULE_TYPE_R9M_LITE_PXX1:
|
||||
case MODULE_TYPE_R9M_LITE_PXX2:
|
||||
case MODULE_TYPE_R9M_LITE_PRO_PXX2:
|
||||
case MODULE_TYPE_XJT_LITE_PXX2:
|
||||
case MODULE_TYPE_CROSSFIRE:
|
||||
case MODULE_TYPE_MULTIMODULE:
|
||||
case MODULE_TYPE_GHOST:
|
||||
case MODULE_TYPE_PPM:
|
||||
case MODULE_TYPE_SBUS:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
switch(moduleSize) {
|
||||
case Board::EXTMODSIZE_NONE:
|
||||
return false;
|
||||
case Board::EXTMODSIZE_BOTH:
|
||||
switch (moduleType) {
|
||||
case MODULE_TYPE_XJT_PXX1:
|
||||
case MODULE_TYPE_ISRM_PXX2:
|
||||
case MODULE_TYPE_R9M_PXX1:
|
||||
case MODULE_TYPE_R9M_PXX2:
|
||||
case MODULE_TYPE_DSM2:
|
||||
case MODULE_TYPE_CROSSFIRE:
|
||||
case MODULE_TYPE_MULTIMODULE:
|
||||
case MODULE_TYPE_GHOST:
|
||||
case MODULE_TYPE_FLYSKY_AFHDS2A:
|
||||
case MODULE_TYPE_FLYSKY_AFHDS3:
|
||||
case MODULE_TYPE_LEMON_DSMP:
|
||||
case MODULE_TYPE_R9M_LITE_PXX1:
|
||||
case MODULE_TYPE_R9M_LITE_PXX2:
|
||||
case MODULE_TYPE_R9M_LITE_PRO_PXX2:
|
||||
case MODULE_TYPE_XJT_LITE_PXX2:
|
||||
case MODULE_TYPE_PPM:
|
||||
case MODULE_TYPE_SBUS:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
case Board::EXTMODSIZE_STD:
|
||||
switch (moduleType) {
|
||||
case MODULE_TYPE_XJT_PXX1:
|
||||
case MODULE_TYPE_ISRM_PXX2:
|
||||
case MODULE_TYPE_R9M_PXX1:
|
||||
case MODULE_TYPE_R9M_PXX2:
|
||||
case MODULE_TYPE_DSM2:
|
||||
case MODULE_TYPE_CROSSFIRE:
|
||||
case MODULE_TYPE_MULTIMODULE:
|
||||
case MODULE_TYPE_GHOST:
|
||||
case MODULE_TYPE_FLYSKY_AFHDS2A:
|
||||
case MODULE_TYPE_FLYSKY_AFHDS3:
|
||||
case MODULE_TYPE_LEMON_DSMP:
|
||||
case MODULE_TYPE_PPM:
|
||||
case MODULE_TYPE_SBUS:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
case Board::EXTMODSIZE_SMALL:
|
||||
switch (moduleType) {
|
||||
case MODULE_TYPE_R9M_LITE_PXX1:
|
||||
case MODULE_TYPE_R9M_LITE_PXX2:
|
||||
case MODULE_TYPE_R9M_LITE_PRO_PXX2:
|
||||
case MODULE_TYPE_XJT_LITE_PXX2:
|
||||
case MODULE_TYPE_CROSSFIRE:
|
||||
case MODULE_TYPE_MULTIMODULE:
|
||||
case MODULE_TYPE_GHOST:
|
||||
case MODULE_TYPE_PPM:
|
||||
case MODULE_TYPE_SBUS:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
case -1:
|
||||
switch (protocol) {
|
||||
case PULSES_PPM:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
case -1:
|
||||
switch (protocol) {
|
||||
case PULSES_PPM:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else {
|
||||
switch (protocol) {
|
||||
case PULSES_PPM:
|
||||
case PULSES_DSMX:
|
||||
case PULSES_LP45:
|
||||
case PULSES_DSM2:
|
||||
// case PULSES_PXX_DJT: // Unavailable for now
|
||||
case PULSES_PPM16:
|
||||
case PULSES_PPMSIM:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
|
||||
return false; // to avoid compiler warning
|
||||
|
||||
@@ -234,10 +234,7 @@ QString OpenTxFirmware::getCapabilityStr(::Capability capability)
|
||||
|
||||
QTime OpenTxFirmware::getMaxTimerStart()
|
||||
{
|
||||
if (IS_HORUS_OR_TARANIS(board))
|
||||
return QTime(23, 59, 59);
|
||||
else
|
||||
return QTime(8, 59, 59);
|
||||
return QTime(23, 59, 59);
|
||||
}
|
||||
|
||||
template<typename T, size_t SIZE>
|
||||
|
||||
@@ -416,7 +416,7 @@ bool RawSource::isAvailable(const ModelData * const model,
|
||||
return false;
|
||||
}
|
||||
|
||||
if (type == SOURCE_TYPE_SWITCH && !b.isSwitchFunc(abs(index) - 1, board) && IS_HORUS_OR_TARANIS(board) &&
|
||||
if (type == SOURCE_TYPE_SWITCH && !b.isSwitchFunc(abs(index) - 1, board) &&
|
||||
!gs->switchSourceAllowed(abs(index) - 1))
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -87,26 +87,21 @@ QString RawSwitch::toString(Board::Type board, const GeneralSettings * const gen
|
||||
div_t qr;
|
||||
switch(type) {
|
||||
case SWITCH_TYPE_SWITCH:
|
||||
if (IS_HORUS_OR_TARANIS(board)) {
|
||||
qr = div(index - 1, 3);
|
||||
swName = Boards::getSwitchInfo(qr.quot, board).name.c_str();
|
||||
if (Boards::isSwitchFunc(qr.quot, board)) {
|
||||
if (modelData) {
|
||||
int fsindex = Boards::getSwitchTagNum(qr.quot, board) - 1;
|
||||
custName = QString(modelData->customSwitches[fsindex].name).trimmed();
|
||||
}
|
||||
qr = div(index - 1, 3);
|
||||
swName = Boards::getSwitchInfo(qr.quot, board).name.c_str();
|
||||
if (Boards::isSwitchFunc(qr.quot, board)) {
|
||||
if (modelData) {
|
||||
int fsindex = Boards::getSwitchTagNum(qr.quot, board) - 1;
|
||||
custName = QString(modelData->customSwitches[fsindex].name).trimmed();
|
||||
}
|
||||
else {
|
||||
if (generalSettings) {
|
||||
custName = QString(generalSettings->switchConfig[qr.quot].name).trimmed();
|
||||
}
|
||||
}
|
||||
return DataHelpers::getCompositeName(swName, custName, prefixCustomName) +
|
||||
directionIndicators.at(qr.rem > -1 && qr.rem < directionIndicators.size() ? qr.rem : 1);
|
||||
}
|
||||
else {
|
||||
return CHECK_IN_ARRAY(switches9X, index - 1);
|
||||
if (generalSettings) {
|
||||
custName = QString(generalSettings->switchConfig[qr.quot].name).trimmed();
|
||||
}
|
||||
}
|
||||
return DataHelpers::getCompositeName(swName, custName, prefixCustomName) +
|
||||
directionIndicators.at(qr.rem > -1 && qr.rem < directionIndicators.size() ? qr.rem : 1);
|
||||
|
||||
case SWITCH_TYPE_VIRTUAL:
|
||||
if (modelData)
|
||||
|
||||
@@ -51,48 +51,6 @@ ui(new Ui::GeneralSetup)
|
||||
panelFilteredModels->registerItemModel(new FilteredItemModel(sharedItemModels->getItemModel(AbstractItemModel::IMID_ControlSource)),
|
||||
FIM_CONTROLSRC);
|
||||
|
||||
QLabel *pmsl[] = {ui->ro_label, ui->ro1_label, ui->ro2_label, ui->ro3_label, ui->ro4_label, ui->ro5_label, ui->ro6_label, ui->ro7_label, ui->ro8_label, NULL};
|
||||
QSlider *tpmsld[] = {ui->chkSA, ui->chkSB, ui->chkSC, ui->chkSD, ui->chkSE, ui->chkSF, ui->chkSG, ui->chkSH, NULL};
|
||||
|
||||
if (IS_TARANIS(board)) {
|
||||
if (firmware->getId().contains("readonly")) {
|
||||
uint16_t switchstate = generalSettings.switchUnlockStates;
|
||||
ui->chkSA->setValue(switchstate & 0x3);
|
||||
switchstate >>= 2;
|
||||
ui->chkSB->setValue(switchstate & 0x3);
|
||||
switchstate >>= 2;
|
||||
ui->chkSC->setValue(switchstate & 0x3);
|
||||
switchstate >>= 2;
|
||||
ui->chkSD->setValue(switchstate & 0x3);
|
||||
switchstate >>= 2;
|
||||
ui->chkSE->setValue(switchstate & 0x3);
|
||||
switchstate >>= 2;
|
||||
ui->chkSF->setValue((switchstate & 0x3) / 2);
|
||||
switchstate >>= 2;
|
||||
ui->chkSG->setValue(switchstate & 0x3);
|
||||
switchstate >>= 2;
|
||||
ui->chkSH->setValue(switchstate & 0x3);
|
||||
}
|
||||
else {
|
||||
for (int i = 0; pmsl[i]; i++) {
|
||||
pmsl[i]->hide();
|
||||
}
|
||||
for (int i = 0; tpmsld[i]; i++) {
|
||||
tpmsld[i]->hide();
|
||||
}
|
||||
this->layout()->removeItem(ui->TaranisReadOnlyUnlock);
|
||||
}
|
||||
}
|
||||
else {
|
||||
for (int i = 0; pmsl[i]; i++) {
|
||||
pmsl[i]->hide();
|
||||
}
|
||||
for (int i = 0; tpmsld[i]; i++) {
|
||||
tpmsld[i]->hide();
|
||||
}
|
||||
this->layout()->removeItem(ui->TaranisReadOnlyUnlock);
|
||||
}
|
||||
|
||||
lock = true;
|
||||
|
||||
ui->volumeCtrl_CB->setSizeAdjustPolicy(QComboBox::AdjustToContents);
|
||||
@@ -135,13 +93,7 @@ ui(new Ui::GeneralSetup)
|
||||
ui->ppm_units_CB->setCurrentIndex(generalSettings.ppmunit);
|
||||
ui->gpsFormatCB->setCurrentIndex(generalSettings.gpsFormat);
|
||||
ui->timezoneLE->setTime((generalSettings.timezone * 3600) + (generalSettings.timezoneMinutes/*quarter hours*/ * 15 * 60));
|
||||
|
||||
if (IS_HORUS_OR_TARANIS(board)) {
|
||||
ui->adjustRTC->setChecked(generalSettings.adjustRTC);
|
||||
}
|
||||
else {
|
||||
ui->adjustRTC->hide();
|
||||
}
|
||||
ui->adjustRTC->setChecked(generalSettings.adjustRTC);
|
||||
|
||||
if (IS_STM32(board)) {
|
||||
ui->usbModeCB->setCurrentIndex(generalSettings.usbMode);
|
||||
@@ -235,28 +187,6 @@ ui(new Ui::GeneralSetup)
|
||||
|
||||
lock = false;
|
||||
|
||||
for (int i = 0; tpmsld[i]; i++) {
|
||||
connect(tpmsld[i], SIGNAL(valueChanged(int)),this,SLOT(unlockSwitchEdited()));
|
||||
}
|
||||
|
||||
if (!IS_HORUS_OR_TARANIS(board)) {
|
||||
ui->stickReverse1->setChecked(generalSettings.stickReverse & (1 << 0));
|
||||
ui->stickReverse2->setChecked(generalSettings.stickReverse & (1 << 1));
|
||||
ui->stickReverse3->setChecked(generalSettings.stickReverse & (1 << 2));
|
||||
ui->stickReverse4->setChecked(generalSettings.stickReverse & (1 << 3));
|
||||
connect(ui->stickReverse1, SIGNAL(toggled(bool)), this, SLOT(stickReverseEdited()));
|
||||
connect(ui->stickReverse2, SIGNAL(toggled(bool)), this, SLOT(stickReverseEdited()));
|
||||
connect(ui->stickReverse3, SIGNAL(toggled(bool)), this, SLOT(stickReverseEdited()));
|
||||
connect(ui->stickReverse4, SIGNAL(toggled(bool)), this, SLOT(stickReverseEdited()));
|
||||
}
|
||||
else {
|
||||
ui->stickReverseLB->hide();
|
||||
ui->stickReverse1->hide();
|
||||
ui->stickReverse2->hide();
|
||||
ui->stickReverse3->hide();
|
||||
ui->stickReverse4->hide();
|
||||
}
|
||||
|
||||
if (Boards::getCapability(board, Board::HasBacklightColor)) {
|
||||
ui->backlightColor_SL->setValue(generalSettings.backlightColor);
|
||||
}
|
||||
@@ -954,23 +884,6 @@ void GeneralSetupPanel::on_stickmodeCB_currentIndexChanged(int index)
|
||||
}
|
||||
}
|
||||
|
||||
void GeneralSetupPanel::unlockSwitchEdited()
|
||||
{
|
||||
if (!lock) {
|
||||
int i = 0;
|
||||
i |= (((uint16_t)ui->chkSA->value()));
|
||||
i |= (((uint16_t)ui->chkSB->value()) << 2);
|
||||
i |= (((uint16_t)ui->chkSC->value()) << 4);
|
||||
i |= (((uint16_t)ui->chkSD->value()) << 6);
|
||||
i |= (((uint16_t)ui->chkSE->value()) << 8);
|
||||
i |= (((uint16_t)ui->chkSF->value()) << 10);
|
||||
i |= (((uint16_t)ui->chkSG->value()) << 12);
|
||||
i |= (((uint16_t)ui->chkSH->value()) << 14);
|
||||
generalSettings.switchUnlockStates=i;
|
||||
emit modified();
|
||||
}
|
||||
}
|
||||
|
||||
void GeneralSetupPanel::on_blAlarm_ChkB_stateChanged()
|
||||
{
|
||||
if (!lock) {
|
||||
@@ -987,17 +900,6 @@ void GeneralSetupPanel::on_registrationId_editingFinished()
|
||||
}
|
||||
}
|
||||
|
||||
void GeneralSetupPanel::stickReverseEdited()
|
||||
{
|
||||
if (!lock) {
|
||||
generalSettings.stickReverse = ((int)ui->stickReverse1->isChecked()) |
|
||||
((int)ui->stickReverse2->isChecked() << 1) |
|
||||
((int)ui->stickReverse3->isChecked() << 2) |
|
||||
((int)ui->stickReverse4->isChecked() << 3);
|
||||
emit modified();
|
||||
}
|
||||
}
|
||||
|
||||
void GeneralSetupPanel::on_modelQuickSelect_CB_stateChanged(int)
|
||||
{
|
||||
if (!lock) {
|
||||
|
||||
@@ -67,10 +67,8 @@ class GeneralSetupPanel : public GeneralPanel
|
||||
void on_mavbaud_CB_currentIndexChanged(int index);
|
||||
void on_voiceLang_CB_currentIndexChanged(int index);
|
||||
void on_textLang_CB_currentIndexChanged(int index);
|
||||
void stickReverseEdited();
|
||||
void on_switchesDelay_valueChanged(int);
|
||||
void on_blAlarm_ChkB_stateChanged();
|
||||
void unlockSwitchEdited();
|
||||
void on_beepVolume_SL_valueChanged();
|
||||
void on_bgVolume_SL_valueChanged();
|
||||
void on_varioVolume_SL_valueChanged();
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -112,8 +112,7 @@ ChannelsPanel::ChannelsPanel(QWidget * parent, ModelData & model, GeneralSetting
|
||||
headerLabels << tr("Name");
|
||||
}
|
||||
headerLabels << tr("Subtrim") << tr("Min") << tr("Max") << tr("Direction");
|
||||
if (IS_HORUS_OR_TARANIS(board))
|
||||
headerLabels << tr("Curve") << tr("Plot");
|
||||
headerLabels << tr("Curve") << tr("Plot");
|
||||
if (firmware->getCapability(PPMCenter))
|
||||
headerLabels << tr("PPM Center");
|
||||
headerLabels << tr("Linear Subtrim");
|
||||
@@ -160,19 +159,17 @@ ChannelsPanel::ChannelsPanel(QWidget * parent, ModelData & model, GeneralSetting
|
||||
tableLayout->addWidget(i, col++, invCB[i]);
|
||||
|
||||
// Curve
|
||||
if (IS_HORUS_OR_TARANIS(firmware->getBoard())) {
|
||||
curveCB[i] = new QComboBox(this);
|
||||
curveCB[i]->setProperty("index", i);
|
||||
tableLayout->addWidget(i, col++, curveCB[i]);
|
||||
curveCB[i] = new QComboBox(this);
|
||||
curveCB[i]->setProperty("index", i);
|
||||
tableLayout->addWidget(i, col++, curveCB[i]);
|
||||
|
||||
curveImage[i] = new CurveImageWidget(this);
|
||||
curveImage[i]->setProperty("index", i);
|
||||
curveImage[i]->setFixedSize(QSize(100, 100));
|
||||
tableLayout->addWidget(i, col++, curveImage[i]);
|
||||
curveImage[i] = new CurveImageWidget(this);
|
||||
curveImage[i]->setProperty("index", i);
|
||||
curveImage[i]->setFixedSize(QSize(100, 100));
|
||||
tableLayout->addWidget(i, col++, curveImage[i]);
|
||||
|
||||
curveGroup[i] = new CurveReferenceUIManager(curveCB[i], curveImage[i], model.limitData[i].curve, model, sharedItemModels,
|
||||
curveRefFilteredItemModels, this);
|
||||
}
|
||||
curveGroup[i] = new CurveReferenceUIManager(curveCB[i], curveImage[i], model.limitData[i].curve, model, sharedItemModels,
|
||||
curveRefFilteredItemModels, this);
|
||||
|
||||
// PPM center
|
||||
int ppmCenterMax = firmware->getCapability(PPMCenter);
|
||||
|
||||
@@ -109,9 +109,7 @@ FlightModePanel::FlightModePanel(QWidget * parent, ModelData & model, int phaseI
|
||||
}
|
||||
else if (phaseIdx > 0) {
|
||||
cb->addItem(tr("Use Trim from %1 Mode %2").arg(radioMode).arg(m), m * 2);
|
||||
if (IS_HORUS_OR_TARANIS(board)) {
|
||||
cb->addItem(tr("Use Trim from %1 Mode %2 + Own Trim as an offset").arg(radioMode).arg(m), m * 2 + 1);
|
||||
}
|
||||
cb->addItem(tr("Use Trim from %1 Mode %2 + Own Trim as an offset").arg(radioMode).arg(m), m * 2 + 1);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -219,7 +217,7 @@ void FlightModePanel::trimUpdate(unsigned int trim)
|
||||
else {
|
||||
trimsUse[trim]->setCurrentIndex(2 + 2 * phase.trimRef[chn] + phase.trimMode[chn] - (phase.trimRef[chn] > phaseIdx ? 1 : 0));
|
||||
|
||||
if (phaseIdx == 0 || phase.trimRef[chn] == phaseIdx || (IS_HORUS_OR_TARANIS(board) && phase.trimMode[chn] != 0)) {
|
||||
if (phaseIdx == 0 || phase.trimRef[chn] == phaseIdx || phase.trimMode[chn] != 0) {
|
||||
trimsValue[trim]->setEnabled(true);
|
||||
trimsSlider[trim]->setEnabled(true);
|
||||
}
|
||||
|
||||
@@ -197,12 +197,10 @@ SetupPanel::SetupPanel(QWidget * parent, ModelData & model, GeneralSettings & ge
|
||||
ui->centerBeepLayout->addWidget(checkbox, 0, i + 1);
|
||||
connect(checkbox, SIGNAL(toggled(bool)), this, SLOT(onBeepCenterToggled(bool)));
|
||||
centerBeepCheckboxes << checkbox;
|
||||
if (IS_HORUS_OR_TARANIS(board)) {
|
||||
if (!(generalSettings.isInputAvailable(i) &&
|
||||
(generalSettings.isInputStick(i) || (generalSettings.isInputPot(i) && !generalSettings.isInputMultiPosPot(i)) ||
|
||||
generalSettings.isInputSlider(i))))
|
||||
checkbox->hide();
|
||||
}
|
||||
if (!(generalSettings.isInputAvailable(i) &&
|
||||
(generalSettings.isInputStick(i) || (generalSettings.isInputPot(i) && !generalSettings.isInputMultiPosPot(i)) ||
|
||||
generalSettings.isInputSlider(i))))
|
||||
checkbox->hide();
|
||||
QWidget::setTabOrder(prevFocus, checkbox);
|
||||
prevFocus = checkbox;
|
||||
}
|
||||
@@ -248,7 +246,7 @@ SetupPanel::SetupPanel(QWidget * parent, ModelData & model, GeneralSettings & ge
|
||||
// Pot warnings
|
||||
prevFocus = ui->potWarningMode;
|
||||
|
||||
if (IS_HORUS_OR_TARANIS(board) && ttlInputs > 0) {
|
||||
if (ttlInputs > 0) {
|
||||
for (int i = ttlSticks; i < ttlInputs; i++) {
|
||||
RawSource src(SOURCE_TYPE_INPUT, i + 1);
|
||||
QCheckBox * cb = new QCheckBox(this);
|
||||
@@ -471,10 +469,7 @@ void SetupPanel::update()
|
||||
|
||||
updateBeepCenter();
|
||||
updateStartupSwitches();
|
||||
|
||||
if (IS_HORUS_OR_TARANIS(firmware->getBoard())) {
|
||||
updatePotWarnings();
|
||||
}
|
||||
updatePotWarnings();
|
||||
|
||||
for (int i = 0; i < CPN_MAX_MODULES + 1; i++) {
|
||||
if (modules[i]) {
|
||||
|
||||
@@ -73,19 +73,13 @@ ModulePanel::ModulePanel(QWidget * parent, ModelData & model, ModuleData & modul
|
||||
ui->label_module->setText(ModuleData::indexToString(moduleIdx, firmware));
|
||||
if (isTrainerModule(moduleIdx)) {
|
||||
ui->formLayout_col1->setSpacing(0);
|
||||
if (!IS_HORUS_OR_TARANIS(firmware->getBoard())) {
|
||||
ui->label_trainerMode->hide();
|
||||
ui->trainerMode->hide();
|
||||
}
|
||||
else {
|
||||
updateTrainerModeItemModel();
|
||||
ui->trainerMode->setField(model.trainerMode);
|
||||
connect(ui->trainerMode, &AutoComboBox::currentDataChanged, this, [=] () {
|
||||
update();
|
||||
emit updateItemModels();
|
||||
emit modified();
|
||||
});
|
||||
}
|
||||
updateTrainerModeItemModel();
|
||||
ui->trainerMode->setField(model.trainerMode);
|
||||
connect(ui->trainerMode, &AutoComboBox::currentDataChanged, this, [=] () {
|
||||
update();
|
||||
emit updateItemModels();
|
||||
emit modified();
|
||||
});
|
||||
}
|
||||
else {
|
||||
ui->label_trainerMode->hide();
|
||||
@@ -419,10 +413,8 @@ void ModulePanel::update()
|
||||
if (protocol != PULSES_MULTIMODULE && module.hasFailsafes(firmware))
|
||||
mask |= MASK_FAILSAFES;
|
||||
}
|
||||
else if (IS_HORUS_OR_TARANIS(board)) {
|
||||
if (model->trainerMode == TRAINER_MODE_SLAVE_JACK) {
|
||||
else if (model->trainerMode == TRAINER_MODE_SLAVE_JACK) {
|
||||
mask |= MASK_PPM_FIELDS | MASK_SBUSPPM_FIELDS | MASK_CHANNELS_RANGE | MASK_CHANNELS_COUNT;
|
||||
}
|
||||
}
|
||||
else if (model->trainerMode != TRAINER_MODE_MASTER_JACK) {
|
||||
mask |= MASK_PPM_FIELDS | MASK_CHANNELS_RANGE | MASK_CHANNELS_COUNT;
|
||||
|
||||
@@ -482,11 +482,9 @@ void TelemetryPanel::update()
|
||||
{
|
||||
lock = true;
|
||||
|
||||
if (IS_HORUS_OR_TARANIS(firmware->getBoard())) {
|
||||
ui->voltsSource->updateValue();
|
||||
ui->altitudeSource->updateValue();
|
||||
ui->varioSource->updateValue();
|
||||
}
|
||||
ui->voltsSource->updateValue();
|
||||
ui->altitudeSource->updateValue();
|
||||
ui->varioSource->updateValue();
|
||||
|
||||
for (int i = 0; i < sensorCapability; ++i) {
|
||||
sensorPanels[i]->update();
|
||||
|
||||
@@ -189,13 +189,11 @@ QString ModelPrinter::printModule(int idx)
|
||||
ModuleData module = model.moduleData[(idx<0 ? CPN_MAX_MODULES : idx)];
|
||||
if (idx < 0) {
|
||||
str << printLabelValue(tr("Mode"), model.trainerModeToString());
|
||||
if (IS_HORUS_OR_TARANIS(firmware->getBoard())) {
|
||||
if (model.trainerMode == TRAINER_MODE_SLAVE_JACK) {
|
||||
str << printLabelValue(tr("Channels"), QString("%1-%2").arg(module.channelsStart + 1).arg(module.channelsStart + module.channelsCount));
|
||||
str << printLabelValue(tr("Frame length"), QString("%1ms").arg(printPPMFrameLength(module.ppm.frameLength)));
|
||||
str << printLabelValue(tr("PPM delay"), QString("%1us").arg(module.ppm.delay));
|
||||
str << printLabelValue(tr("Polarity"), module.polarityToString());
|
||||
}
|
||||
if (model.trainerMode == TRAINER_MODE_SLAVE_JACK) {
|
||||
str << printLabelValue(tr("Channels"), QString("%1-%2").arg(module.channelsStart + 1).arg(module.channelsStart + module.channelsCount));
|
||||
str << printLabelValue(tr("Frame length"), QString("%1ms").arg(printPPMFrameLength(module.ppm.frameLength)));
|
||||
str << printLabelValue(tr("PPM delay"), QString("%1us").arg(module.ppm.delay));
|
||||
str << printLabelValue(tr("Polarity"), module.polarityToString());
|
||||
}
|
||||
result = str.join(" ");
|
||||
}
|
||||
|
||||
@@ -318,9 +318,7 @@ QString MultiModelPrinter::printSetup()
|
||||
ROWLABELCOMPARECELL(tr("Trims"), 0, modelPrinter->printSettingsTrim(), 0);
|
||||
ROWLABELCOMPARECELL(tr("Center Beep"), 0, modelPrinter->printCenterBeep(), 0);
|
||||
ROWLABELCOMPARECELL(tr("Switch Warnings"), 0, modelPrinter->printSwitchWarnings(), 0);
|
||||
if (IS_HORUS_OR_TARANIS(firmware->getBoard())) {
|
||||
ROWLABELCOMPARECELL(tr("Pot Warnings"), 0, modelPrinter->printPotWarnings(), 0);
|
||||
}
|
||||
ROWLABELCOMPARECELL(tr("Pot Warnings"), 0, modelPrinter->printPotWarnings(), 0);
|
||||
ROWLABELCOMPARECELL(tr("Other"), 0, modelPrinter->printSettingsOther(), 0);
|
||||
columns.appendTableEnd();
|
||||
str.append(columns.print());
|
||||
@@ -525,15 +523,13 @@ QString MultiModelPrinter::printOutputs()
|
||||
MultiColumns columns(modelPrinterMap.size());
|
||||
columns.appendSectionTableStart();
|
||||
QStringList hd = QStringList() << tr("Channel") << tr("Subtrim") << tr("Min") << tr("Max") << tr("Direct");
|
||||
if (IS_HORUS_OR_TARANIS(firmware->getBoard()))
|
||||
hd << tr("Curve");
|
||||
hd << tr("Curve");
|
||||
if (firmware->getCapability(PPMCenter))
|
||||
hd << tr("PPM");
|
||||
hd << tr("Linear");
|
||||
columns.appendRowHeader(hd);
|
||||
int cols = 4;
|
||||
if (IS_HORUS_OR_TARANIS(firmware->getBoard()))
|
||||
cols++;
|
||||
cols++;
|
||||
if (firmware->getCapability(PPMCenter))
|
||||
cols++;
|
||||
cols++;
|
||||
@@ -552,9 +548,7 @@ QString MultiModelPrinter::printOutputs()
|
||||
COMPARECELLWIDTH(modelPrinter->printOutputMin(i), wd);
|
||||
COMPARECELLWIDTH(modelPrinter->printOutputMax(i), wd);
|
||||
COMPARECELLWIDTH(modelPrinter->printOutputRevert(i), wd);
|
||||
if (IS_HORUS_OR_TARANIS(firmware->getBoard())) {
|
||||
COMPARECELLWIDTH(modelPrinter->printOutputCurve(i), wd);
|
||||
}
|
||||
COMPARECELLWIDTH(modelPrinter->printOutputCurve(i), wd);
|
||||
if (firmware->getCapability(PPMCenter)) {
|
||||
COMPARECELLWIDTH(modelPrinter->printOutputPpmCenter(i), wd);
|
||||
}
|
||||
@@ -757,12 +751,7 @@ QString MultiModelPrinter::printTelemetry()
|
||||
// Altimetry
|
||||
if (firmware->getCapability(HasVario)) {
|
||||
columns.appendRowStart(tr("Altimetry"), 20);
|
||||
if (IS_HORUS_OR_TARANIS(firmware->getBoard())) {
|
||||
LABELCOMPARECELL(tr("Vario source"), SensorData::sourceToString(model, model->frsky.varioSource), 80);
|
||||
}
|
||||
else {
|
||||
LABELCOMPARECELL(tr("Vario source"), modelPrinter->printVarioSource(model->frsky.varioSource), 80);
|
||||
}
|
||||
LABELCOMPARECELL(tr("Vario source"), SensorData::sourceToString(model, model->frsky.varioSource), 80);
|
||||
columns.appendRowEnd();
|
||||
columns.appendRowStart("", 20);
|
||||
columns.appendCellStart(80);
|
||||
@@ -779,15 +768,12 @@ QString MultiModelPrinter::printTelemetry()
|
||||
}
|
||||
|
||||
// Top Bar
|
||||
if (IS_HORUS_OR_TARANIS(firmware->getBoard())) {
|
||||
columns.appendRowStart(tr("Top Bar"), 20);
|
||||
columns.appendCellStart(80);
|
||||
COMPARESTRING(tr("Volts source"), SensorData::sourceToString(model, model->frsky.voltsSource), true);
|
||||
COMPARESTRING(tr("Altitude source"), SensorData::sourceToString(model, model->frsky.altitudeSource), false);
|
||||
columns.appendCellEnd();
|
||||
columns.appendRowEnd();
|
||||
}
|
||||
|
||||
columns.appendRowStart(tr("Top Bar"), 20);
|
||||
columns.appendCellStart(80);
|
||||
COMPARESTRING(tr("Volts source"), SensorData::sourceToString(model, model->frsky.voltsSource), true);
|
||||
COMPARESTRING(tr("Altitude source"), SensorData::sourceToString(model, model->frsky.altitudeSource), false);
|
||||
columns.appendCellEnd();
|
||||
columns.appendRowEnd();
|
||||
ROWLABELCOMPARECELL(tr("Multi sensors"), 0, modelPrinter->printIgnoreSensorIds(!model->frsky.ignoreSensorIds), 0);
|
||||
ROWLABELCOMPARECELL(tr("Show Instance IDs"), 0, modelPrinter->printIgnoreSensorIds(!model->showInstanceIds), 0);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user