chore(cpn): add PL18EV support (#5849)
This commit is contained in:
@@ -354,6 +354,8 @@ elseif(PCB STREQUAL X10 AND PCBREV STREQUAL T18)
|
||||
set(FLAVOUR t18)
|
||||
elseif(PCB STREQUAL NV14 AND PCBREV STREQUAL EL18)
|
||||
set(FLAVOUR el18)
|
||||
elseif(PCB STREQUAL PL18 AND PCBREV STREQUAL PL18EV)
|
||||
set(FLAVOUR pl18ev)
|
||||
elseif(PCB STREQUAL PL18)
|
||||
set(FLAVOUR pl18)
|
||||
else()
|
||||
|
||||
@@ -153,10 +153,10 @@ uint32_t Boards::getFourCC(Type board)
|
||||
case BOARD_RADIOMASTER_T8:
|
||||
return 0x4378746F;
|
||||
case BOARD_FLYSKY_NV14:
|
||||
return 0x3A78746F;
|
||||
case BOARD_FLYSKY_EL18:
|
||||
return 0x3A78746F;
|
||||
case BOARD_FLYSKY_PL18:
|
||||
case BOARD_FLYSKY_PL18EV:
|
||||
return 0x4878746F;
|
||||
default:
|
||||
return 0;
|
||||
@@ -215,6 +215,7 @@ int Boards::getEEpromSize(Board::Type board)
|
||||
case BOARD_FLYSKY_NV14:
|
||||
case BOARD_FLYSKY_EL18:
|
||||
case BOARD_FLYSKY_PL18:
|
||||
case BOARD_FLYSKY_PL18EV:
|
||||
case BOARD_FATFISH_F16:
|
||||
case BOARD_HELLORADIOSKY_V16:
|
||||
return 0;
|
||||
@@ -273,6 +274,7 @@ int Boards::getFlashSize(Type board)
|
||||
case BOARD_FLYSKY_NV14:
|
||||
case BOARD_FLYSKY_EL18:
|
||||
case BOARD_FLYSKY_PL18:
|
||||
case BOARD_FLYSKY_PL18EV:
|
||||
case BOARD_FATFISH_F16:
|
||||
case BOARD_HELLORADIOSKY_V16:
|
||||
return FSIZE_HORUS;
|
||||
@@ -307,7 +309,7 @@ int Boards::getCapability(Board::Type board, Board::Capability capability)
|
||||
return 4;
|
||||
else if(IS_RADIOMASTER_ZORRO(board))
|
||||
return 8;
|
||||
else if (board == BOARD_RADIOMASTER_POCKET)
|
||||
else if (IS_RADIOMASTER_POCKET(board))
|
||||
return 5;
|
||||
else if (IS_FAMILY_T12(board))
|
||||
return 6;
|
||||
@@ -337,7 +339,7 @@ int Boards::getCapability(Board::Type board, Board::Capability capability)
|
||||
return (IS_STM32(board) && !IS_TARANIS_X9(board));
|
||||
|
||||
case HasLedStripGPIO:
|
||||
return (IS_RADIOMASTER_MT12(board) || IS_FLYSKY_PL18(board) ||
|
||||
return (IS_RADIOMASTER_MT12(board) || IS_FAMILY_PL18(board) ||
|
||||
IS_HELLORADIOSKY_V16(board));
|
||||
|
||||
case HasSDCard:
|
||||
@@ -371,7 +373,7 @@ int Boards::getCapability(Board::Type board, Board::Capability capability)
|
||||
case LcdHeight:
|
||||
if (IS_FLYSKY_NV14(board) || IS_FLYSKY_EL18(board))
|
||||
return 480;
|
||||
else if (IS_FLYSKY_PL18(board) || IS_JUMPER_T15(board))
|
||||
else if (IS_FAMILY_PL18(board) || IS_JUMPER_T15(board))
|
||||
return 320;
|
||||
else if (IS_FAMILY_HORUS_OR_T16(board))
|
||||
return 272;
|
||||
@@ -381,7 +383,7 @@ int Boards::getCapability(Board::Type board, Board::Capability capability)
|
||||
case LcdWidth:
|
||||
if (IS_FLYSKY_NV14(board) || IS_FLYSKY_EL18(board))
|
||||
return 320;
|
||||
else if (IS_FLYSKY_PL18(board))
|
||||
else if (IS_FAMILY_PL18(board))
|
||||
return 480;
|
||||
else if (IS_FAMILY_HORUS_OR_T16(board))
|
||||
return 480;
|
||||
@@ -518,6 +520,18 @@ StringTagMappingTable Boards::getLegacyAnalogsLookupTable(Board::Type board)
|
||||
{tr("SL1").toStdString(), "LS"},
|
||||
{tr("SL2").toStdString(), "RS"},
|
||||
});
|
||||
} else if (IS_FLYSKY_PL18EV(board)) {
|
||||
tbl.insert(tbl.end(), {
|
||||
{tr("P1").toStdString(), "POT1"},
|
||||
{tr("P2").toStdString(), "POT2"},
|
||||
{tr("P3").toStdString(), "POT3"},
|
||||
{tr("SL1").toStdString(), "LS"},
|
||||
{tr("SL2").toStdString(), "RS"},
|
||||
{tr("EXT1").toStdString(), "EXT1"},
|
||||
{tr("EXT2").toStdString(), "EXT2"},
|
||||
{tr("EXT3").toStdString(), "EXT3"},
|
||||
{tr("EXT4").toStdString(), "EXT4"},
|
||||
});
|
||||
} else if (IS_HORUS_X10(board) || IS_FAMILY_T16(board)) {
|
||||
tbl.insert(tbl.end(), {
|
||||
{tr("P1").toStdString(), "S1"},
|
||||
@@ -641,6 +655,8 @@ QString Boards::getBoardName(Board::Type board)
|
||||
return "FlySky EL18";
|
||||
case BOARD_FLYSKY_PL18:
|
||||
return "FlySky PL18";
|
||||
case BOARD_FLYSKY_PL18EV:
|
||||
return "FlySky PL18EV";
|
||||
case BOARD_BETAFPV_LR3PRO:
|
||||
return "BETAFPV LR3PRO";
|
||||
case BOARD_IFLIGHT_COMMANDO8:
|
||||
@@ -752,6 +768,7 @@ int Boards::getDefaultInternalModules(Board::Type board)
|
||||
case BOARD_JUMPER_TPRO:
|
||||
case BOARD_JUMPER_TPROV2:
|
||||
case BOARD_FLYSKY_PL18:
|
||||
case BOARD_FLYSKY_PL18EV:
|
||||
return (int)MODULE_TYPE_MULTIMODULE;
|
||||
|
||||
case BOARD_BETAFPV_LR3PRO:
|
||||
@@ -836,6 +853,7 @@ void Boards::getBattRange(Board::Type board, int& vmin, int& vmax, unsigned int&
|
||||
BR(35, 42, 37)
|
||||
break;
|
||||
case BOARD_FLYSKY_PL18:
|
||||
case BOARD_FLYSKY_PL18EV:
|
||||
BR(35, 43, 37)
|
||||
break;
|
||||
case BOARD_IFLIGHT_COMMANDO8:
|
||||
|
||||
@@ -78,6 +78,7 @@ namespace Board {
|
||||
BOARD_JUMPER_TLITE_F4,
|
||||
BOARD_FLYSKY_NV14,
|
||||
BOARD_FLYSKY_PL18,
|
||||
BOARD_FLYSKY_PL18EV,
|
||||
BOARD_RADIOMASTER_ZORRO,
|
||||
BOARD_JUMPER_TPRO,
|
||||
BOARD_BETAFPV_LR3PRO,
|
||||
@@ -660,6 +661,16 @@ inline bool IS_FLYSKY_PL18(Board::Type board)
|
||||
return (board == Board::BOARD_FLYSKY_PL18);
|
||||
}
|
||||
|
||||
inline bool IS_FLYSKY_PL18EV(Board::Type board)
|
||||
{
|
||||
return (board == Board::BOARD_FLYSKY_PL18EV);
|
||||
}
|
||||
|
||||
inline bool IS_FAMILY_PL18(Board::Type board)
|
||||
{
|
||||
return IS_FLYSKY_PL18(board) || IS_FLYSKY_PL18EV(board);
|
||||
}
|
||||
|
||||
inline bool IS_TARANIS_XLITE(Board::Type board)
|
||||
{
|
||||
return board == Board::BOARD_TARANIS_XLITE || board == Board::BOARD_TARANIS_XLITES;
|
||||
@@ -739,7 +750,7 @@ inline bool IS_FAMILY_HORUS_OR_T16(Board::Type board)
|
||||
{
|
||||
return IS_FAMILY_HORUS(board) || IS_FAMILY_T16(board) ||
|
||||
IS_FLYSKY_NV14(board)/*generally*/ || IS_FLYSKY_EL18(board)/*generally*/
|
||||
|| IS_FLYSKY_PL18(board);
|
||||
|| IS_FAMILY_PL18(board);
|
||||
}
|
||||
|
||||
inline bool IS_HORUS_OR_TARANIS(Board::Type board)
|
||||
@@ -750,7 +761,7 @@ inline bool IS_HORUS_OR_TARANIS(Board::Type board)
|
||||
inline bool IS_STM32(Board::Type board)
|
||||
{
|
||||
return IS_TARANIS(board) || IS_FAMILY_HORUS_OR_T16(board) ||
|
||||
IS_FLYSKY_NV14(board) || IS_FLYSKY_EL18(board) || IS_FLYSKY_PL18(board);
|
||||
IS_FLYSKY_NV14(board) || IS_FLYSKY_EL18(board) || IS_FAMILY_PL18(board);
|
||||
}
|
||||
|
||||
inline bool IS_ARM(Board::Type board)
|
||||
|
||||
@@ -222,6 +222,8 @@ void GeneralSettings::init()
|
||||
strcpy(bluetoothName, "nv14");
|
||||
else if (IS_FLYSKY_PL18(board))
|
||||
strcpy(bluetoothName, "pl18");
|
||||
else if (IS_FLYSKY_PL18EV(board))
|
||||
strcpy(bluetoothName, "pl18ev");
|
||||
else if (IS_FAMILY_HORUS_OR_T16(board))
|
||||
strcpy(bluetoothName, "horus");
|
||||
else if (IS_TARANIS_X9E(board) || IS_TARANIS_SMALL(board))
|
||||
@@ -328,7 +330,7 @@ void GeneralSettings::init()
|
||||
|
||||
internalModule = g.profile[g.sessionId()].defaultInternalModule();
|
||||
|
||||
if (IS_FLYSKY_NV14(board) || IS_FLYSKY_PL18(board))
|
||||
if (IS_FLYSKY_NV14(board) || IS_FAMILY_PL18(board))
|
||||
stickDeadZone = 2;
|
||||
|
||||
}
|
||||
|
||||
@@ -314,7 +314,7 @@ int OpenTxFirmware::getCapability(::Capability capability)
|
||||
IS_RADIOMASTER_MT12(board);
|
||||
case HasBluetooth:
|
||||
return (IS_FAMILY_HORUS_OR_T16(board) || IS_TARANIS_X7(board) || IS_TARANIS_XLITE(board)|| IS_TARANIS_X9E(board) ||
|
||||
IS_TARANIS_X9DP_2019(board) || IS_FLYSKY_NV14(board) || IS_FLYSKY_EL18(board) || IS_FLYSKY_PL18(board)) ? true : false;
|
||||
IS_TARANIS_X9DP_2019(board) || IS_FLYSKY_NV14(board) || IS_FLYSKY_EL18(board) || IS_FAMILY_PL18(board)) ? true : false;
|
||||
case HasADCJitterFilter:
|
||||
return IS_HORUS_OR_TARANIS(board);
|
||||
case HasTelemetryBaudrate:
|
||||
@@ -505,6 +505,13 @@ void registerOpenTxFirmwares()
|
||||
addOpenTxRfOptions(firmware, FLEX + AFHDS3);
|
||||
registerOpenTxFirmware(firmware);
|
||||
|
||||
/* FlySky PL18EV board */
|
||||
firmware = new OpenTxFirmware(FIRMWAREID("pl18ev"), Firmware::tr("FlySky PL18EV"), BOARD_FLYSKY_PL18EV);
|
||||
addOpenTxFrskyOptions(firmware);
|
||||
firmware->addOption(opt_bt);
|
||||
addOpenTxRfOptions(firmware, FLEX + AFHDS3);
|
||||
registerOpenTxFirmware(firmware);
|
||||
|
||||
/* FrSky Horus X10 board */
|
||||
firmware = new OpenTxFirmware(FIRMWAREID("x10"), Firmware::tr("FrSky Horus X10 / X10S"), BOARD_X10);
|
||||
addOpenTxFrskyOptions(firmware);
|
||||
|
||||
@@ -190,7 +190,7 @@ ui(new Ui::GeneralSetup)
|
||||
ui->usbModeCB->hide();
|
||||
}
|
||||
|
||||
if (IS_FLYSKY_EL18(board) || IS_FLYSKY_NV14(board) || IS_FLYSKY_PL18(board)) {
|
||||
if (IS_FLYSKY_EL18(board) || IS_FLYSKY_NV14(board) || IS_FAMILY_PL18(board)) {
|
||||
ui->hatsModeCB->setModel(panelFilteredModels->getItemModel(FIM_HATSMODE));
|
||||
ui->hatsModeCB->setField(generalSettings.hatsMode, this);
|
||||
}
|
||||
|
||||
@@ -284,7 +284,7 @@ SetupPanel::SetupPanel(QWidget * parent, ModelData & model, GeneralSettings & ge
|
||||
|
||||
ui->trimsDisplay->setField(model.trimsDisplay, this);
|
||||
|
||||
if (IS_FLYSKY_EL18(board) || IS_FLYSKY_NV14(board) || IS_FLYSKY_PL18(board)) {
|
||||
if (IS_FLYSKY_EL18(board) || IS_FLYSKY_NV14(board) || IS_FAMILY_PL18(board)) {
|
||||
ui->cboHatsMode->setModel(panelFilteredModels->getItemModel(FIM_HATSMODE));
|
||||
ui->cboHatsMode->setField(model.hatsMode, this);
|
||||
}
|
||||
|
||||
@@ -866,7 +866,7 @@ QString ModelPrinter::printSettingsTrim()
|
||||
str << printLabelValue(tr("Display"), printTrimsDisplayMode());
|
||||
str << printLabelValue(tr("Extended"), printBoolean(model.extendedTrims, BOOLEAN_YESNO));
|
||||
Board::Type board = firmware->getBoard();
|
||||
if (IS_FLYSKY_EL18(board) || IS_FLYSKY_NV14(board) || IS_FLYSKY_PL18(board)) {
|
||||
if (IS_FLYSKY_EL18(board) || IS_FLYSKY_NV14(board) || IS_FAMILY_PL18(board)) {
|
||||
str << printLabelValue(tr("Hats Mode"), printHatsMode());
|
||||
}
|
||||
return str.join(" ");
|
||||
|
||||
Reference in New Issue
Block a user