Sky9x modules settings updated in Companion
This commit is contained in:
@@ -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:
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user