From 92e7182740c278939c6d153a4b5a72411795ff8f Mon Sep 17 00:00:00 2001 From: bsongis Date: Fri, 16 May 2014 18:32:28 +0200 Subject: [PATCH] Sky9x modules settings updated in Companion --- companion/src/eeprominterface.h | 1 + .../src/firmwares/opentx/opentxeeprom.cpp | 5 ++++ companion/src/firmwares/opentx/opentxeeprom.h | 6 ++--- .../src/firmwares/opentx/opentxinterface.cpp | 12 +++++----- companion/src/modeledit/setup.cpp | 24 ++++++++++++++----- 5 files changed, 33 insertions(+), 15 deletions(-) diff --git a/companion/src/eeprominterface.h b/companion/src/eeprominterface.h index a0fb5ae67..3db7660c5 100644 --- a/companion/src/eeprominterface.h +++ b/companion/src/eeprominterface.h @@ -58,6 +58,7 @@ enum BoardEnum { #define IS_STOCK(board) (board==BOARD_STOCK) #define IS_2560(board) (board==BOARD_GRUVIN9X || board==BOARD_MEGA2560) #define IS_SKY9X(board) (board==BOARD_SKY9X || board==BOARD_9XRPRO) +#define IS_9XRPRO(board) (board==BOARD_9XRPRO) #define IS_TARANIS(board) (board==BOARD_TARANIS || board==BOARD_TARANIS_REV4a || board==BOARD_TARANIS_PLUS) #define IS_TARANIS_PLUS(board) (board==BOARD_TARANIS_PLUS) #define IS_ARM(board) (IS_TARANIS(board) || IS_SKY9X(board)) diff --git a/companion/src/firmwares/opentx/opentxeeprom.cpp b/companion/src/firmwares/opentx/opentxeeprom.cpp index 538761f93..5915e3b24 100644 --- a/companion/src/firmwares/opentx/opentxeeprom.cpp +++ b/companion/src/firmwares/opentx/opentxeeprom.cpp @@ -2473,6 +2473,11 @@ OpenTxModelData::OpenTxModelData(ModelData & modelData, BoardEnum board, unsigne internalField.Append(new UnsignedField<8>(modelData.trainerMode)); } + if (IS_ARM(board) && version >= 216) { + modulesCount = 3; + internalField.Append(new ConversionField< SignedField<8> >(modelData.moduleData[0].protocol, &protocolsConversionTable, "Protocol", ::QObject::tr("OpenTX doesn't accept this protocol"))); + } + if (IS_ARM(board) && version >= 215) { for (int module=0; module(subprotocols[module])); diff --git a/companion/src/firmwares/opentx/opentxeeprom.h b/companion/src/firmwares/opentx/opentxeeprom.h index 522430f5a..6d789e04b 100644 --- a/companion/src/firmwares/opentx/opentxeeprom.h +++ b/companion/src/firmwares/opentx/opentxeeprom.h @@ -74,7 +74,7 @@ class ProtocolsConversionTable: public ConversionTable ProtocolsConversionTable(BoardEnum board) { int val = 0; - if (IS_TARANIS(board)) { + if (IS_ARM(board)) { addConversion(OFF, val++); } addConversion(PPM, val++); @@ -82,7 +82,7 @@ class ProtocolsConversionTable: public ConversionTable addConversion(PPM16, val++); addConversion(PPMSIM, val++); } - if (IS_TARANIS(board)) { + if (IS_ARM(board)) { addConversion(PXX_XJT_X16, val); addConversion(PXX_XJT_D8, val); addConversion(PXX_XJT_LR12, val++); @@ -90,7 +90,7 @@ class ProtocolsConversionTable: public ConversionTable else { addConversion(PXX_DJT, val++); } - if (IS_TARANIS(board)) { + if (IS_ARM(board)) { addConversion(LP45, val); addConversion(DSM2, val); addConversion(DSMX, val++); diff --git a/companion/src/firmwares/opentx/opentxinterface.cpp b/companion/src/firmwares/opentx/opentxinterface.cpp index d256e4297..e8339078f 100644 --- a/companion/src/firmwares/opentx/opentxinterface.cpp +++ b/companion/src/firmwares/opentx/opentxinterface.cpp @@ -570,7 +570,7 @@ int OpenTxFirmware::getCapability(const Capability capability) case Haptic: return 1; case ModelTrainerEnable: - if (IS_TARANIS(board)) + if (IS_ARM(board)) return 1; else return 0; @@ -639,11 +639,9 @@ int OpenTxFirmware::getCapability(const Capability capability) else return 1; case HasFailsafe: - if (IS_TARANIS(board)) - return 32; // - return (IS_SKY9X(board) ? 16 : 0); + return (IS_ARM(board) ? 32 : 0); case NumModules: - return (IS_ARM(board) ? 2 : 1); + return (IS_ARM(board) && !IS_9XRPRO(board)) ? 2 : 1; case HasPPMStart: return (IS_ARM(board) ? true : false); case HasCurrentCalibration: @@ -743,7 +741,9 @@ int OpenTxEepromInterface::isAvailable(Protocol proto, int port) case 0: switch (proto) { case PPM: - case PXX_DJT: + case PXX_XJT_X16: + case PXX_XJT_D8: + case PXX_XJT_LR12: case LP45: case DSM2: case DSMX: diff --git a/companion/src/modeledit/setup.cpp b/companion/src/modeledit/setup.cpp index c185ce9bd..acfc44c97 100644 --- a/companion/src/modeledit/setup.cpp +++ b/companion/src/modeledit/setup.cpp @@ -108,15 +108,27 @@ ModulePanel::ModulePanel(QWidget *parent, ModelData & model, ModuleData & module if (moduleIdx < 0) { label = tr("Trainer Port"); ui->trainerMode->setCurrentIndex(model.trainerMode); + if (!IS_TARANIS(firmware->getBoard())) { + ui->label_trainerMode->hide(); + ui->trainerMode->hide(); + } } else { ui->label_trainerMode->hide(); ui->trainerMode->hide(); if (firmware->getCapability(NumModules) > 1) { - if (moduleIdx == 0) - label = tr("Internal Radio System"); - else - label = tr("External Radio Module"); + if (IS_TARANIS(firmware->getBoard())) { + if (moduleIdx == 0) + label = tr("Internal Radio System"); + else + label = tr("External Radio Module"); + } + else { + if (moduleIdx == 0) + label = tr("Radio System"); + else + label = tr("Extra Radio System"); + } } else { label = tr("Radio System"); @@ -195,7 +207,7 @@ void ModulePanel::update() break; } } - else if (model.trainerMode != 0) { + else if (!IS_TARANIS(firmware->getBoard()) || model.trainerMode != 0) { mask |= MASK_PPM_FIELDS | MASK_CHANNELS_RANGE | MASK_CHANNELS_COUNT; } @@ -333,7 +345,7 @@ SetupPanel::SetupPanel(QWidget *parent, ModelData & model, GeneralSettings & gen ui->setupUi(this); - ui->name->setMaxLength(IS_TARANIS(GetEepromInterface()->getBoard()) ? 12 : 10); + ui->name->setMaxLength(IS_TARANIS(firmware->getBoard()) ? 12 : 10); for (int i=0; i