Sky9x modules settings updated in Companion

This commit is contained in:
bsongis
2014-05-16 18:32:28 +02:00
parent 4048d65724
commit 92e7182740
5 changed files with 33 additions and 15 deletions
+1
View File
@@ -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))
@@ -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<modulesCount; module++) {
internalField.Append(new SignedField<8>(subprotocols[module]));
@@ -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++);
@@ -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:
+18 -6
View File
@@ -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<C9X_MAX_TIMERS; i++) {
timers[i] = new TimerPanel(this, model, model.timers[i], generalSettings, firmware);