feat(cpn): Jumper T20 support (#4227)

Co-authored-by: Peter Feerick <peter.feerick@gmail.com>
This commit is contained in:
3djc
2023-10-24 20:40:02 +10:00
committed by GitHub
co-authored by Peter Feerick
parent 16b9d72aba
commit a467d2c176
20 changed files with 256 additions and 25 deletions
+54 -7
View File
@@ -137,6 +137,7 @@ int Boards::getEEpromSize(Board::Type board)
case BOARD_BETAFPV_LR3PRO:
case BOARD_IFLIGHT_COMMANDO8:
case BOARD_JUMPER_T12:
case BOARD_JUMPER_T20:
case BOARD_JUMPER_TLITE:
case BOARD_JUMPER_TLITE_F4:
case BOARD_JUMPER_TPRO:
@@ -184,6 +185,7 @@ int Boards::getFlashSize(Type board)
case BOARD_BETAFPV_LR3PRO:
case BOARD_IFLIGHT_COMMANDO8:
case BOARD_JUMPER_T12:
case BOARD_JUMPER_T20:
case BOARD_JUMPER_TLITE:
case BOARD_JUMPER_TLITE_F4:
case BOARD_JUMPER_TPRO:
@@ -360,6 +362,22 @@ SwitchInfo Boards::getSwitchInfo(Board::Type board, int index)
if (index < DIM(switches))
return switches[index];
}
else if (IS_JUMPER_T20(board)) {
const Board::SwitchInfo switches[] = {
{SWITCH_2POS, "SA"},
{SWITCH_2POS, "SB"},
{SWITCH_3POS, "SC"},
{SWITCH_3POS, "SD"},
{SWITCH_2POS, "SE"},
{SWITCH_2POS, "SF"},
{SWITCH_TOGGLE, "SG"},
{SWITCH_TOGGLE, "SH"},
{SWITCH_TOGGLE, "SI"},
{SWITCH_TOGGLE, "SJ"},
};
if (index < DIM(switches))
return switches[index];
}
else if (IS_FLYSKY_NV14(board)) {
const Board::SwitchInfo switches[] = {
{SWITCH_2POS, "SA"},
@@ -458,7 +476,7 @@ int Boards::getCapability(Board::Type board, Board::Capability capability)
return 0;
else if (IS_RADIOMASTER_BOXER(board))
return 3;
else if (IS_TARANIS_SMALL(board) || IS_JUMPER_TPRO(board))
else if (IS_TARANIS_SMALL(board) || IS_JUMPER_TPRO(board) || IS_FLYSKY_NV14(board) || IS_JUMPER_T20(board))
return 2;
else if (IS_TARANIS_X9E(board))
return 4;
@@ -466,8 +484,6 @@ int Boards::getCapability(Board::Type board, Board::Capability capability)
return 7;
else if (IS_HORUS_X12S(board))
return 3;
else if (IS_FLYSKY_NV14(board) || IS_FLYSKY_EL18(board))
return 2;
else
return 3;
@@ -478,7 +494,7 @@ int Boards::getCapability(Board::Type board, Board::Capability capability)
return getCapability(board, Pots);
case Sliders:
if (IS_HORUS_X12S(board) || IS_TARANIS_X9E(board))
if (IS_HORUS_X12S(board) || IS_TARANIS_X9E(board) || IS_JUMPER_T20(board))
return 4;
else if (IS_TARANIS_X9D(board) || IS_HORUS_X10(board) || IS_FAMILY_T16(board))
return 2;
@@ -539,13 +555,16 @@ int Boards::getCapability(Board::Type board, Board::Capability capability)
return 9;
else if (IS_TARANIS(board))
return 8;
else if (IS_FAMILY_HORUS_OR_T16(board))
else if (IS_FAMILY_HORUS_OR_T16(board) || IS_JUMPER_T20(board))
return 10;
else
return 7;
case FunctionSwitches:
return (IS_JUMPER_TPRO(board) ? 6 : 0);
if (board == BOARD_JUMPER_TPRO || board == BOARD_JUMPER_TPROV2 || board == BOARD_JUMPER_T20)
return 6;
else
return 0;
case FactoryInstalledSwitches:
if (IS_TARANIS_X9E(board))
@@ -578,6 +597,8 @@ int Boards::getCapability(Board::Type board, Board::Capability capability)
return 6;
else if (IS_IFLIGHT_COMMANDO8(board))
return 0;
else if (IS_JUMPER_T20(board))
return 8;
else
return 4;
@@ -731,7 +752,7 @@ StringTagMappingTable Boards::getAnalogNamesLookupTable(Board::Type board, const
{tr("S2").toStdString(), "POT2"},
{tr("S3").toStdString(), "POT3"},
});
} else if ((IS_TARANIS_SMALL(board) && !IS_JUMPER_TLITE(board)) || IS_FLYSKY_NV14(board) || IS_FLYSKY_EL18(board)) {
} else if ((IS_TARANIS_SMALL(board) && !IS_JUMPER_TLITE(board) && !IS_JUMPER_T20(board)) || IS_FLYSKY_NV14(board) || IS_FLYSKY_EL18(board)) {
if (version < adcVersion) {
tbl.insert(tbl.end(), {
{tr("S1").toStdString(), "POT1"},
@@ -825,6 +846,15 @@ StringTagMappingTable Boards::getAnalogNamesLookupTable(Board::Type board, const
{tr("TltY").toStdString(), "TILT_Y", 16},
});
}
} else if (IS_JUMPER_T20(board)) {
tbl.insert(tbl.end(), {
{tr("S1").toStdString(), "P1", 4},
{tr("S2").toStdString(), "P2", 5},
{tr("S3").toStdString(), "SL1", 6},
{tr("S4").toStdString(), "SL2", 7},
{tr("SL").toStdString(), "SL3", 8},
{tr("SR").toStdString(), "SL4", 9},
});
}
return tbl;
@@ -893,6 +923,8 @@ QString Boards::getBoardName(Board::Type board)
return "Jumper T16";
case BOARD_JUMPER_T18:
return "Jumper T18";
case BOARD_JUMPER_T20:
return "Jumper T20";
case BOARD_RADIOMASTER_TX16S:
return "Radiomaster TX16S";
case BOARD_RADIOMASTER_TX12:
@@ -1051,6 +1083,14 @@ StringTagMappingTable Boards::getTrimSwitchesLookupTable(Board::Type board)
{std::to_string(TRIM_SW_T6_INC), "TrimT6Up"},
});
if (getCapability(board, Board::NumTrims) > 6)
tbl.insert(tbl.end(), {
{std::to_string(TRIM_SW_T7_INC), "TrimT7Up"},
{std::to_string(TRIM_SW_T7_DEC), "TrimT7Down"},
{std::to_string(TRIM_SW_T8_INC), "TrimT8Up"},
{std::to_string(TRIM_SW_T8_DEC), "TrimT8Down"},
});
return tbl;
}
@@ -1072,6 +1112,11 @@ StringTagMappingTable Boards::getTrimSourcesLookupTable(Board::Type board)
{std::to_string(TRIM_AXIS_T6), "TrimT6"},
});
if (getCapability(board, Board::NumTrims) > 6)
tbl.insert(tbl.end(), {
{std::to_string(TRIM_AXIS_T7), "TrimT7"},
{std::to_string(TRIM_AXIS_T8), "TrimT8"},
});
return tbl;
}
@@ -1137,6 +1182,7 @@ int Boards::getDefaultInternalModules(Board::Type board)
case BOARD_RADIOMASTER_BOXER:
case BOARD_RADIOMASTER_TX12_MK2:
case BOARD_IFLIGHT_COMMANDO8:
case BOARD_JUMPER_T20:
return (int)MODULE_TYPE_CROSSFIRE;
case BOARD_FLYSKY_NV14:
@@ -1167,6 +1213,7 @@ int Boards::getDefaultExternalModuleSize(Board::Type board)
IS_RADIOMASTER_ZORRO(board) ||
IS_JUMPER_TLITE(board) ||
IS_JUMPER_TPRO(board) ||
IS_JUMPER_T20(board) ||
IS_BETAFPV_LR3PRO(board))
return EXTMODSIZE_SMALL;
+17 -4
View File
@@ -61,6 +61,7 @@ namespace Board {
BOARD_JUMPER_T16,
BOARD_RADIOMASTER_TX16S,
BOARD_JUMPER_T18,
BOARD_JUMPER_T20,
BOARD_RADIOMASTER_TX12,
BOARD_RADIOMASTER_TX12_MK2,
BOARD_RADIOMASTER_BOXER,
@@ -119,6 +120,8 @@ namespace Board {
TRIM_AXIS_RH,
TRIM_AXIS_T5,
TRIM_AXIS_T6,
TRIM_AXIS_T7,
TRIM_AXIS_T8,
TRIM_AXIS_COUNT
};
@@ -136,6 +139,10 @@ namespace Board {
TRIM_SW_T5_INC,
TRIM_SW_T6_DEC,
TRIM_SW_T6_INC,
TRIM_SW_T7_DEC,
TRIM_SW_T7_INC,
TRIM_SW_T8_DEC,
TRIM_SW_T8_INC,
TRIM_SW_COUNT
};
@@ -316,6 +323,11 @@ inline bool IS_JUMPER_T18(Board::Type board)
return board == Board::BOARD_JUMPER_T18;
}
inline bool IS_JUMPER_T20(Board::Type board)
{
return board == Board::BOARD_JUMPER_T20;
}
inline bool IS_RADIOMASTER_TX16S(Board::Type board)
{
return board == Board::BOARD_RADIOMASTER_TX16S;
@@ -354,15 +366,16 @@ inline bool IS_FAMILY_T16(Board::Type board)
inline bool IS_FAMILY_T12(Board::Type board)
{
return board == Board::BOARD_JUMPER_T12 ||
board == Board::BOARD_JUMPER_T20 ||
board == Board::BOARD_JUMPER_TLITE ||
board == Board::BOARD_JUMPER_TLITE_F4 ||
board == Board::BOARD_JUMPER_TPRO ||
board == Board::BOARD_JUMPER_TPROV2 ||
board == Board::BOARD_RADIOMASTER_TX12 ||
board == Board::BOARD_RADIOMASTER_TX12_MK2 ||
board == Board::BOARD_RADIOMASTER_ZORRO ||
board == Board::BOARD_RADIOMASTER_BOXER ||
board == Board::BOARD_RADIOMASTER_T8 ||
board == Board::BOARD_JUMPER_TLITE ||
board == Board::BOARD_JUMPER_TLITE_F4 ||
board == Board::BOARD_JUMPER_TPRO ||
board == Board::BOARD_JUMPER_TPROV2 ||
board == Board::BOARD_BETAFPV_LR3PRO ||
board == Board::BOARD_IFLIGHT_COMMANDO8;
}
+5 -1
View File
@@ -305,6 +305,10 @@ void GeneralSettings::setDefaultControlTypes(Board::Type board)
potConfig[1] = Board::POT_WITH_DETENT;
potConfig[2] = Board::POT_MULTIPOS_SWITCH;
}
else if(IS_JUMPER_T20(board)) {
potConfig[0] = Board::POT_WITHOUT_DETENT;
potConfig[1] = Board::POT_WITHOUT_DETENT;
}
else if (IS_FAMILY_T12(board)) {
potConfig[0] = Board::POT_WITH_DETENT;
potConfig[1] = Board::POT_WITH_DETENT;
@@ -319,7 +323,7 @@ void GeneralSettings::setDefaultControlTypes(Board::Type board)
potConfig[2] = Board::POT_WITHOUT_DETENT;
}
if (IS_HORUS_X12S(board) || IS_TARANIS_X9E(board)) {
if (IS_HORUS_X12S(board) || IS_TARANIS_X9E(board) || IS_JUMPER_T20(board)) {
sliderConfig[0] = Board::SLIDER_WITH_DETENT;
sliderConfig[1] = Board::SLIDER_WITH_DETENT;
sliderConfig[2] = Board::SLIDER_WITH_DETENT;
@@ -72,6 +72,8 @@ const char * OpenTxEepromInterface::getName()
return "EdgeTX for Jumper T16";
case BOARD_JUMPER_T18:
return "EdgeTX for Jumper T18";
case BOARD_JUMPER_T20:
return "EdgeTX for Jumper T20";
case BOARD_RADIOMASTER_TX16S:
return "EdgeTX for Radiomaster TX16S";
case BOARD_RADIOMASTER_TX12:
@@ -790,19 +792,20 @@ int OpenTxFirmware::getCapability(::Capability capability)
IS_TARANIS_X9LITE(board) || IS_RADIOMASTER_TX12(board) ||
IS_RADIOMASTER_TX12_MK2(board) || IS_RADIOMASTER_ZORRO(board) ||
IS_RADIOMASTER_BOXER(board) || IS_RADIOMASTER_TX16S(board) ||
IS_JUMPER_T18(board));
IS_JUMPER_T18(board)) || IS_JUMPER_T20(board);
case HasSoftwareSerialPower:
return IS_RADIOMASTER_TX16S(board);
case HasIntModuleMulti:
return id.contains("internalmulti") || IS_RADIOMASTER_TX16S(board) || IS_JUMPER_T18(board) ||
IS_RADIOMASTER_TX12(board) || IS_JUMPER_TLITE(board) || IS_BETAFPV_LR3PRO(board) ||
(IS_RADIOMASTER_ZORRO(board) && !id.contains("internalelrs")) ||
IS_RADIOMASTER_BOXER(board);
(IS_RADIOMASTER_BOXER(board) && !id.contains("internalelrs"));
case HasIntModuleCRSF:
return id.contains("internalcrsf");
case HasIntModuleELRS:
return id.contains("internalelrs") || IS_RADIOMASTER_TX12_MK2(board) ||
IS_IFLIGHT_COMMANDO8(board) || IS_RADIOMASTER_BOXER(board);
IS_IFLIGHT_COMMANDO8(board) || IS_RADIOMASTER_BOXER(board) ||
IS_JUMPER_T20(board);
case HasIntModuleFlySky:
return id.contains("afhds2a") || id.contains("afhds3") ||
IS_FLYSKY_NV14(board) || IS_FLYSKY_EL18(board);
@@ -1359,6 +1362,13 @@ void registerOpenTxFirmwares()
addOpenTxRfOptions(firmware, FLEX);
registerOpenTxFirmware(firmware);
/* Jumper T20 board */
firmware = new OpenTxFirmware(FIRMWAREID("t20"), Firmware::tr("Jumper T20"), BOARD_JUMPER_T20);
addOpenTxFrskyOptions(firmware);
firmware->addOption("internalelrs", Firmware::tr("Select if internal ELRS module is installed"));
addOpenTxRfOptions(firmware, NONE);
registerOpenTxFirmware(firmware);
/* Radiomaster TX12 board */
firmware = new OpenTxFirmware(FIRMWAREID("tx12"), QCoreApplication::translate("Firmware", "Radiomaster TX12"), BOARD_RADIOMASTER_TX12);
addOpenTxCommonOptions(firmware);
+1 -1
View File
@@ -133,7 +133,7 @@ QString RawSource::toString(const ModelData * model, const GeneralSettings * con
}
static const QString trims[] = {
tr("TrmR"), tr("TrmE"), tr("TrmT"), tr("TrmA"), tr("Trm5"), tr("Trm6")
tr("TrmR"), tr("TrmE"), tr("TrmT"), tr("TrmA"), tr("Trm5"), tr("Trm6"), tr("Trm7"), tr("Trm8")
};
static const QString trims2[] = {
+3 -1
View File
@@ -42,7 +42,9 @@ QString RawSwitch::toString(Board::Type board, const GeneralSettings * const gen
tr("ThrTrim Down"), tr("ThrTrim Up"),
tr("AilTrim Left"), tr("AilTrim Right"),
tr("Trim 5 Down"), tr("Trim 5 Up"),
tr("Trim 6 Down"), tr("Trim 6 Up")
tr("Trim 6 Down"), tr("Trim 6 Up"),
tr("Trim 7 Down"), tr("Trim 7 Up"),
tr("Trim 8 Down"), tr("Trim 8 Up")
};
static const QString trimsSwitches2[] = {
+134 -2
View File
@@ -502,6 +502,72 @@
</property>
</widget>
</item>
<item row="5" column="2">
<layout class="QGridLayout" name="t8Layout" columnstretch="0,1">
<item row="2" column="0">
<widget class="QLabel" name="trim8Label">
<property name="text">
<string>trim8</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="2" column="1">
<layout class="QVBoxLayout" name="verticalLayout_5">
<item>
<widget class="QComboBox" name="trim8Use"/>
</item>
<item>
<widget class="QSpinBox" name="trim8Value">
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
<property name="accelerated">
<bool>true</bool>
</property>
<property name="minimum">
<number>-896</number>
</property>
<property name="maximum">
<number>896</number>
</property>
</widget>
</item>
</layout>
</item>
<item row="0" column="1">
<spacer name="verticalSpacer_3">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Minimum</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
<item row="6" column="2">
<widget class="QSlider" name="trim8Slider">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="tickPosition">
<enum>QSlider::TicksBothSides</enum>
</property>
<property name="tickInterval">
<number>25</number>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QSlider" name="trim5Slider">
<property name="orientation">
@@ -528,7 +594,7 @@
</widget>
</item>
<item row="1" column="1">
<layout class="QVBoxLayout" name="verticalLayout_5">
<layout class="QVBoxLayout" name="verticalLayout_6">
<item>
<widget class="QComboBox" name="trim5Use"/>
</item>
@@ -551,7 +617,73 @@
</layout>
</item>
<item row="0" column="1">
<spacer name="verticalSpacer">
<spacer name="verticalSpacer_4">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Minimum</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
<item row="6" column="1">
<widget class="QSlider" name="trim7Slider">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="tickPosition">
<enum>QSlider::TicksBothSides</enum>
</property>
<property name="tickInterval">
<number>25</number>
</property>
</widget>
</item>
<item row="5" column="1">
<layout class="QGridLayout" name="t7Layout" columnstretch="0,1">
<item row="1" column="0">
<widget class="QLabel" name="trim7Label">
<property name="text">
<string>trim7</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="1" column="1">
<layout class="QVBoxLayout" name="verticalLayout_7">
<item>
<widget class="QComboBox" name="trim7Use"/>
</item>
<item>
<widget class="QSpinBox" name="trim7Value">
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
<property name="accelerated">
<bool>true</bool>
</property>
<property name="minimum">
<number>-896</number>
</property>
<property name="maximum">
<number>896</number>
</property>
</widget>
</item>
</layout>
</item>
<item row="0" column="1">
<spacer name="verticalSpacer_11">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
+6 -4
View File
@@ -89,11 +89,13 @@ FlightModePanel::FlightModePanel(QWidget * parent, ModelData & model, int phaseI
}
labels[4] = "T5"; // TODO firmware function
labels[5] = "T6"; // TODO firmware function
labels[6] = "T7"; // TODO firmware function
labels[7] = "T8"; // TODO firmware function
trimsLabel << ui->trim1Label << ui->trim2Label << ui->trim3Label << ui->trim4Label << ui->trim5Label << ui->trim6Label;
trimsUse << ui->trim1Use << ui->trim2Use << ui->trim3Use << ui->trim4Use << ui->trim5Use << ui->trim6Use;
trimsValue << ui->trim1Value << ui->trim2Value << ui->trim3Value << ui->trim4Value << ui->trim5Value << ui->trim6Value;
trimsSlider << ui->trim1Slider << ui->trim2Slider << ui->trim3Slider << ui->trim4Slider << ui->trim5Slider << ui->trim6Slider;
trimsLabel << ui->trim1Label << ui->trim2Label << ui->trim3Label << ui->trim4Label << ui->trim5Label << ui->trim6Label << ui->trim7Label << ui->trim8Label;
trimsUse << ui->trim1Use << ui->trim2Use << ui->trim3Use << ui->trim4Use << ui->trim5Use << ui->trim6Use << ui->trim7Use << ui->trim8Use;
trimsValue << ui->trim1Value << ui->trim2Value << ui->trim3Value << ui->trim4Value << ui->trim5Value << ui->trim6Value << ui->trim7Value << ui->trim8Value;
trimsSlider << ui->trim1Slider << ui->trim2Slider << ui->trim3Slider << ui->trim4Slider << ui->trim5Slider << ui->trim6Slider << ui->trim7Slider << ui->trim8Slider;
for (int i = trimCount; i < CPN_MAX_TRIMS; i++) {
trimsLabel[i]->hide();
+3 -1
View File
@@ -517,7 +517,9 @@ enum MixSources {
//#if defined(PCBHORUS)
MIXSRC_TrimT5,
MIXSRC_TrimT6,
MIXSRC_LAST_TRIM SKIP = MIXSRC_TrimT6,
MIXSRC_TrimT7,
MIXSRC_TrimT8,
MIXSRC_LAST_TRIM SKIP = MIXSRC_TrimT8,
//#else
//MIXSRC_LAST_TRIM SKIP = MIXSRC_TrimAil,
//#endif
@@ -118,6 +118,8 @@ const struct YamlIdStr enum_MixSources[] = {
{ MIXSRC_TrimAil, "TrimAil" },
{ MIXSRC_TrimT5, "TrimT5" },
{ MIXSRC_TrimT6, "TrimT6" },
{ MIXSRC_TrimT7, "TrimT7" },
{ MIXSRC_TrimT8, "TrimT8" },
{ MIXSRC_TX_VOLTAGE, "TX_VOLTAGE" },
{ MIXSRC_TX_TIME, "TX_TIME" },
{ MIXSRC_TX_GPS, "TX_GPS" },
@@ -120,6 +120,8 @@ const struct YamlIdStr enum_MixSources[] = {
{ MIXSRC_TrimAil, "TrimAil" },
{ MIXSRC_TrimT5, "TrimT5" },
{ MIXSRC_TrimT6, "TrimT6" },
{ MIXSRC_TrimT7, "TrimT7" },
{ MIXSRC_TrimT8, "TrimT8" },
{ MIXSRC_TX_VOLTAGE, "TX_VOLTAGE" },
{ MIXSRC_TX_TIME, "TX_TIME" },
{ MIXSRC_TX_GPS, "TX_GPS" },
@@ -118,6 +118,8 @@ const struct YamlIdStr enum_MixSources[] = {
{ MIXSRC_TrimAil, "TrimAil" },
{ MIXSRC_TrimT5, "TrimT5" },
{ MIXSRC_TrimT6, "TrimT6" },
{ MIXSRC_TrimT7, "TrimT7" },
{ MIXSRC_TrimT8, "TrimT8" },
{ MIXSRC_TX_VOLTAGE, "TX_VOLTAGE" },
{ MIXSRC_TX_TIME, "TX_TIME" },
{ MIXSRC_TX_GPS, "TX_GPS" },
@@ -118,6 +118,8 @@ const struct YamlIdStr enum_MixSources[] = {
{ MIXSRC_TrimAil, "TrimAil" },
{ MIXSRC_TrimT5, "TrimT5" },
{ MIXSRC_TrimT6, "TrimT6" },
{ MIXSRC_TrimT7, "TrimT7" },
{ MIXSRC_TrimT8, "TrimT8" },
{ MIXSRC_TX_VOLTAGE, "TX_VOLTAGE" },
{ MIXSRC_TX_TIME, "TX_TIME" },
{ MIXSRC_TX_GPS, "TX_GPS" },
@@ -128,6 +128,8 @@ const struct YamlIdStr enum_MixSources[] = {
{ MIXSRC_TrimAil, "TrimAil" },
{ MIXSRC_TrimT5, "TrimT5" },
{ MIXSRC_TrimT6, "TrimT6" },
{ MIXSRC_TrimT7, "TrimT7" },
{ MIXSRC_TrimT8, "TrimT8" },
{ MIXSRC_TX_VOLTAGE, "TX_VOLTAGE" },
{ MIXSRC_TX_TIME, "TX_TIME" },
{ MIXSRC_TX_GPS, "TX_GPS" },
@@ -128,6 +128,8 @@ const struct YamlIdStr enum_MixSources[] = {
{ MIXSRC_TrimAil, "TrimAil" },
{ MIXSRC_TrimT5, "TrimT5" },
{ MIXSRC_TrimT6, "TrimT6" },
{ MIXSRC_TrimT7, "TrimT7" },
{ MIXSRC_TrimT8, "TrimT8" },
{ MIXSRC_TX_VOLTAGE, "TX_VOLTAGE" },
{ MIXSRC_TX_TIME, "TX_TIME" },
{ MIXSRC_TX_GPS, "TX_GPS" },
@@ -118,6 +118,8 @@ const struct YamlIdStr enum_MixSources[] = {
{ MIXSRC_TrimAil, "TrimAil" },
{ MIXSRC_TrimT5, "TrimT5" },
{ MIXSRC_TrimT6, "TrimT6" },
{ MIXSRC_TrimT7, "TrimT7" },
{ MIXSRC_TrimT8, "TrimT8" },
{ MIXSRC_TX_VOLTAGE, "TX_VOLTAGE" },
{ MIXSRC_TX_TIME, "TX_TIME" },
{ MIXSRC_TX_GPS, "TX_GPS" },
@@ -118,6 +118,8 @@ const struct YamlIdStr enum_MixSources[] = {
{ MIXSRC_TrimAil, "TrimAil" },
{ MIXSRC_TrimT5, "TrimT5" },
{ MIXSRC_TrimT6, "TrimT6" },
{ MIXSRC_TrimT7, "TrimT7" },
{ MIXSRC_TrimT8, "TrimT8" },
{ MIXSRC_TX_VOLTAGE, "TX_VOLTAGE" },
{ MIXSRC_TX_TIME, "TX_TIME" },
{ MIXSRC_TX_GPS, "TX_GPS" },
@@ -118,6 +118,8 @@ const struct YamlIdStr enum_MixSources[] = {
{ MIXSRC_TrimAil, "TrimAil" },
{ MIXSRC_TrimT5, "TrimT5" },
{ MIXSRC_TrimT6, "TrimT6" },
{ MIXSRC_TrimT7, "TrimT7" },
{ MIXSRC_TrimT8, "TrimT8" },
{ MIXSRC_TX_VOLTAGE, "TX_VOLTAGE" },
{ MIXSRC_TX_TIME, "TX_TIME" },
{ MIXSRC_TX_GPS, "TX_GPS" },
@@ -120,6 +120,8 @@ const struct YamlIdStr enum_MixSources[] = {
{ MIXSRC_TrimAil, "TrimAil" },
{ MIXSRC_TrimT5, "TrimT5" },
{ MIXSRC_TrimT6, "TrimT6" },
{ MIXSRC_TrimT7, "TrimT7" },
{ MIXSRC_TrimT8, "TrimT8" },
{ MIXSRC_TX_VOLTAGE, "TX_VOLTAGE" },
{ MIXSRC_TX_TIME, "TX_TIME" },
{ MIXSRC_TX_GPS, "TX_GPS" },
-1
View File
@@ -68,7 +68,6 @@ declare -a simulator_plugins=(x9lite x9lites
t8 t12 tx12 tx12mk2
zorro pocket commando8 boxer
tlite tpro lr3pro
t20
x9d x9dp x9dp2019 x9e
xlite xlites
nv14