mirror of
https://github.com/EdgeTX/edgetx.git
synced 2025-07-22 15:55:17 +03:00
[X10 Express] Compilation support added
This commit is contained in:
parent
ed64c59b37
commit
d2f3e421af
15 changed files with 65 additions and 36 deletions
|
@ -345,6 +345,8 @@ if(PCB STREQUAL X7 AND PCBREV STREQUAL T12)
|
|||
set(FLAVOUR t12)
|
||||
elseif(PCB STREQUAL X9D+ AND PCBREV STREQUAL 2019)
|
||||
set(FLAVOUR x9d+2019)
|
||||
elseif(PCB STREQUAL X10 AND PCBREV STREQUAL EXPRESS)
|
||||
set(FLAVOUR x10express)
|
||||
else()
|
||||
string(TOLOWER ${PCB} FLAVOUR)
|
||||
endif()
|
||||
|
|
|
@ -59,6 +59,7 @@ uint32_t Boards::getFourCC(Type board)
|
|||
case BOARD_X12S:
|
||||
return 0x3478746F;
|
||||
case BOARD_X10:
|
||||
case BOARD_X10_EXPRESS:
|
||||
return 0x3778746F;
|
||||
case BOARD_TARANIS_XLITE:
|
||||
return 0x3978746F;
|
||||
|
@ -122,6 +123,7 @@ const int Boards::getEEpromSize(Board::Type board)
|
|||
return EESIZE_MAX;
|
||||
case BOARD_X12S:
|
||||
case BOARD_X10:
|
||||
case BOARD_X10_EXPRESS:
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -155,6 +157,7 @@ const int Boards::getFlashSize(Type board)
|
|||
return FSIZE_TARANIS;
|
||||
case BOARD_X12S:
|
||||
case BOARD_X10:
|
||||
case BOARD_X10_EXPRESS:
|
||||
return FSIZE_HORUS;
|
||||
case BOARD_UNKNOWN:
|
||||
return FSIZE_MAX;
|
||||
|
@ -522,6 +525,8 @@ const QString Boards::getBoardName(Board::Type board)
|
|||
return "Horus X12S";
|
||||
case BOARD_X10:
|
||||
return "Horus X10/X10S";
|
||||
case BOARD_X10_EXPRESS:
|
||||
return "Horus X10 Express";
|
||||
default:
|
||||
return tr("Unknown");
|
||||
}
|
||||
|
|
|
@ -46,6 +46,7 @@ namespace Board {
|
|||
BOARD_TARANIS_X9E,
|
||||
BOARD_X12S,
|
||||
BOARD_X10,
|
||||
BOARD_X10_EXPRESS,
|
||||
BOARD_TARANIS_XLITE,
|
||||
BOARD_TARANIS_XLITES,
|
||||
BOARD_TARANIS_X9LITE,
|
||||
|
@ -206,12 +207,11 @@ class Boards
|
|||
#define IS_TARANIS(board) (IS_TARANIS_X9(board) || IS_TARANIS_X7(board) || IS_TARANIS_X9LITE(board) || IS_TARANIS_XLITE(board) || IS_JUMPER_T12(board))
|
||||
#define IS_TARANIS_SMALL(board) (IS_TARANIS_X7(board) || IS_TARANIS_XLITE(board) || IS_TARANIS_X9LITE(board) || IS_JUMPER_T12(board))
|
||||
#define IS_HORUS_X12S(board) (board==Board::BOARD_X12S)
|
||||
#define IS_HORUS_X10(board) (board==Board::BOARD_X10)
|
||||
#define IS_HORUS_X10(board) (board==Board::BOARD_X10 || board==Board::BOARD_X10_EXPRESS)
|
||||
#define IS_HORUS(board) (IS_HORUS_X12S(board) || IS_HORUS_X10(board))
|
||||
#define IS_HORUS_OR_TARANIS(board) (IS_HORUS(board) || IS_TARANIS(board))
|
||||
#define IS_STM32(board) (IS_TARANIS(board) || IS_HORUS(board))
|
||||
#define IS_ARM(board) (IS_STM32(board) || IS_SKY9X(board))
|
||||
#define IS_ACCESS_RADIO(board) (IS_TARANIS_X9LITE(board) || IS_TARANIS_XLITES(board))
|
||||
#define HAS_LARGE_LCD(board) (IS_HORUS(board) || IS_TARANIS_X9(board))
|
||||
|
||||
#endif // _BOARDS_H_
|
||||
|
|
|
@ -345,7 +345,7 @@ class Firmware
|
|||
|
||||
virtual QTime getMaxTimerStart() = 0;
|
||||
|
||||
virtual int isAvailable(PulsesProtocol proto, int port=0) = 0;
|
||||
virtual bool isAvailable(PulsesProtocol proto, int port=0) = 0;
|
||||
|
||||
const int getFlashSize();
|
||||
|
||||
|
|
|
@ -203,7 +203,7 @@ int Er9xInterface::getSize(const GeneralSettings &settings)
|
|||
return 0;
|
||||
}
|
||||
|
||||
int Er9xInterface::isAvailable(PulsesProtocol prot, int port)
|
||||
bool Er9xInterface::isAvailable(PulsesProtocol prot, int port)
|
||||
{
|
||||
switch (prot) {
|
||||
case PULSES_PPM:
|
||||
|
|
|
@ -52,7 +52,7 @@ class Er9xInterface : public EEPROMInterface
|
|||
|
||||
virtual int getSize(const GeneralSettings &settings);
|
||||
|
||||
virtual int isAvailable(PulsesProtocol proto, int port=0);
|
||||
virtual bool isAvailable(PulsesProtocol proto, int port=0);
|
||||
|
||||
virtual int getCapability(Capability capability);
|
||||
|
||||
|
|
|
@ -251,7 +251,7 @@ int Ersky9xInterface::getSize(const GeneralSettings & settings)
|
|||
return 0;
|
||||
}
|
||||
|
||||
int Ersky9xInterface::isAvailable(PulsesProtocol prot, int port)
|
||||
bool Ersky9xInterface::isAvailable(PulsesProtocol prot, int port)
|
||||
{
|
||||
switch (prot) {
|
||||
case PULSES_PPM:
|
||||
|
|
|
@ -51,7 +51,7 @@ class Ersky9xInterface : public EEPROMInterface
|
|||
|
||||
virtual int getSize(const GeneralSettings & settings);
|
||||
|
||||
virtual int isAvailable(PulsesProtocol proto, int port=0);
|
||||
virtual bool isAvailable(PulsesProtocol proto, int port=0);
|
||||
|
||||
virtual int getCapability(Capability capability);
|
||||
|
||||
|
|
|
@ -163,8 +163,9 @@ void ModelData::clear()
|
|||
moduleData[0].ppm.delay = 300;
|
||||
moduleData[1].ppm.delay = 300;
|
||||
moduleData[2].ppm.delay = 300;
|
||||
int board = getCurrentBoard();
|
||||
if (IS_ACCESS_RADIO(board)) {
|
||||
Firmware * firmware = Firmware::getCurrentVariant();
|
||||
int board = firmware->getBoard();
|
||||
if (firmware->isAvailable(PULSES_ACCESS_ISRM, 0)) {
|
||||
moduleData[0].protocol = PULSES_ACCESS_ISRM;
|
||||
moduleData[1].protocol = PULSES_OFF;
|
||||
}
|
||||
|
|
|
@ -94,6 +94,8 @@ const char * OpenTxEepromInterface::getName()
|
|||
return "OpenTX for FrSky Horus";
|
||||
case BOARD_X10:
|
||||
return "OpenTX for FrSky X10";
|
||||
case BOARD_X10_EXPRESS:
|
||||
return "OpenTX for FrSky X10 Express";
|
||||
default:
|
||||
return "OpenTX for an unknown board";
|
||||
}
|
||||
|
@ -756,37 +758,38 @@ QTime OpenTxFirmware::getMaxTimerStart()
|
|||
return QTime(0, 59, 59);
|
||||
}
|
||||
|
||||
int OpenTxFirmware::isAvailable(PulsesProtocol proto, int port)
|
||||
bool OpenTxFirmware::isAvailable(PulsesProtocol proto, int port)
|
||||
{
|
||||
if (IS_HORUS_OR_TARANIS(board)) {
|
||||
switch (port) {
|
||||
case 0:
|
||||
switch (proto) {
|
||||
case PULSES_OFF:
|
||||
return 1;
|
||||
return true;
|
||||
case PULSES_PXX_XJT_X16:
|
||||
case PULSES_PXX_XJT_LR12:
|
||||
return (IS_TARANIS_XLITES(board) || IS_TARANIS_X9LITE(board)) ? 0 : 1;
|
||||
return !(IS_TARANIS_XLITES(board) || IS_TARANIS_X9LITE(board));
|
||||
case PULSES_PXX_XJT_D8:
|
||||
return (IS_TARANIS_XLITES(board) || IS_TARANIS_X9LITE(board) || id.contains("eu")) ? 0 : 1;
|
||||
return !(IS_TARANIS_XLITES(board) || IS_TARANIS_X9LITE(board) || id.contains("eu"));
|
||||
case PULSES_PPM:
|
||||
return id.contains("internalppm") ? 1 : 0;
|
||||
return id.contains("internalppm");
|
||||
case PULSES_ACCESS_ISRM:
|
||||
return IS_TARANIS_XLITES(board) || IS_TARANIS_X9LITE(board) || board == BOARD_TARANIS_X9DP_2019 || board == BOARD_X10_EXPRESS || (IS_HORUS(board) && id.contains("internalaccess"));
|
||||
case PULSES_ACCST_ISRM_D16:
|
||||
return (IS_TARANIS_XLITES(board) || IS_TARANIS_X9LITE(board)) ? 1 : 0;
|
||||
return (IS_TARANIS_XLITES(board) || IS_TARANIS_X9LITE(board));
|
||||
default:
|
||||
return 0;
|
||||
return false;
|
||||
}
|
||||
|
||||
case 1:
|
||||
switch (proto) {
|
||||
case PULSES_OFF:
|
||||
case PULSES_PPM:
|
||||
return 1;
|
||||
return true;
|
||||
case PULSES_PXX_XJT_X16:
|
||||
case PULSES_PXX_XJT_D8:
|
||||
case PULSES_PXX_XJT_LR12:
|
||||
return (IS_TARANIS_XLITES(board) || IS_TARANIS_X9LITE(board)) ? 0 : 1;
|
||||
return !(IS_TARANIS_XLITES(board) || IS_TARANIS_X9LITE(board));
|
||||
case PULSES_PXX_R9M:
|
||||
case PULSES_LP45:
|
||||
case PULSES_DSM2:
|
||||
|
@ -794,28 +797,28 @@ int OpenTxFirmware::isAvailable(PulsesProtocol proto, int port)
|
|||
case PULSES_SBUS:
|
||||
case PULSES_MULTIMODULE:
|
||||
case PULSES_CROSSFIRE:
|
||||
return 1;
|
||||
return true;
|
||||
case PULSES_ACCESS_R9M_LITE:
|
||||
case PULSES_ACCESS_R9M_LITE_PRO:
|
||||
return (IS_TARANIS_XLITES(board) || IS_TARANIS_X9LITE(board)) ? 1 : 0;
|
||||
return (IS_TARANIS_XLITES(board) || IS_TARANIS_X9LITE(board));
|
||||
case PULSES_XJT_LITE_X16:
|
||||
case PULSES_XJT_LITE_D8:
|
||||
case PULSES_XJT_LITE_LR12:
|
||||
return (IS_TARANIS_XLITES(board) || IS_TARANIS_X9LITE(board)) ? 1 : 0;
|
||||
return (IS_TARANIS_XLITES(board) || IS_TARANIS_X9LITE(board));
|
||||
default:
|
||||
return 0;
|
||||
return false;
|
||||
}
|
||||
|
||||
case -1:
|
||||
switch (proto) {
|
||||
case PULSES_PPM:
|
||||
return 1;
|
||||
return true;
|
||||
default:
|
||||
return 0;
|
||||
return false;
|
||||
}
|
||||
|
||||
default:
|
||||
return 0;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else if (IS_SKY9X(board)) {
|
||||
|
@ -832,21 +835,21 @@ int OpenTxFirmware::isAvailable(PulsesProtocol proto, int port)
|
|||
case PULSES_DSMX:
|
||||
case PULSES_SBUS:
|
||||
case PULSES_MULTIMODULE:
|
||||
return 1;
|
||||
return true;
|
||||
default:
|
||||
return 0;
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
switch (proto) {
|
||||
case PULSES_PPM:
|
||||
return 1;
|
||||
return true;
|
||||
default:
|
||||
return 0;
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
return 0;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else {
|
||||
|
@ -858,9 +861,9 @@ int OpenTxFirmware::isAvailable(PulsesProtocol proto, int port)
|
|||
// case PULSES_PXX_DJT: // Unavailable for now
|
||||
case PULSES_PPM16:
|
||||
case PULSES_PPMSIM:
|
||||
return 1;
|
||||
return true;
|
||||
default:
|
||||
return 0;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1256,11 +1259,18 @@ void registerOpenTxFirmwares()
|
|||
/* FrSky X10 board */
|
||||
firmware = new OpenTxFirmware("opentx-x10", Firmware::tr("FrSky Horus X10 / X10S"), BOARD_X10);
|
||||
addOpenTxFrskyOptions(firmware);
|
||||
firmware->addOption("internalaccess", Firmware::tr("Support for ACCESS internal module replacement"));
|
||||
registerOpenTxFirmware(firmware);
|
||||
|
||||
/* FrSky X10 Express board */
|
||||
firmware = new OpenTxFirmware("opentx-x10express", Firmware::tr("FrSky Horus X10 Express"), BOARD_X10_EXPRESS);
|
||||
addOpenTxFrskyOptions(firmware);
|
||||
registerOpenTxFirmware(firmware);
|
||||
|
||||
/* FrSky X12 (Horus) board */
|
||||
firmware = new OpenTxFirmware("opentx-x12s", Firmware::tr("FrSky Horus X12S"), BOARD_X12S);
|
||||
addOpenTxFrskyOptions(firmware);
|
||||
firmware->addOption("internalaccess", Firmware::tr("Support for ACCESS internal module replacement"));
|
||||
firmware->addOption("pcbdev", Firmware::tr("Use ONLY with first DEV pcb version"));
|
||||
registerOpenTxFirmware(firmware);
|
||||
|
||||
|
|
|
@ -122,7 +122,7 @@ class OpenTxFirmware: public Firmware
|
|||
|
||||
virtual QTime getMaxTimerStart();
|
||||
|
||||
virtual int isAvailable(PulsesProtocol proto, int port=0);
|
||||
virtual bool isAvailable(PulsesProtocol proto, int port=0);
|
||||
|
||||
protected:
|
||||
|
||||
|
|
|
@ -90,6 +90,7 @@ SimulatorWidget::SimulatorWidget(QWidget * parent, SimulatorInterface * simulato
|
|||
radioUiWidget = new SimulatedUIWidgetX12(simulator, this);
|
||||
break;
|
||||
case Board::BOARD_X10:
|
||||
case Board::BOARD_X10_EXPRESS:
|
||||
radioUiWidget = new SimulatedUIWidgetX10(simulator, this);
|
||||
break;
|
||||
case Board::BOARD_JUMPER_T12:
|
||||
|
|
|
@ -27,7 +27,6 @@ if(SPLASH STREQUAL OFF)
|
|||
endif()
|
||||
|
||||
if (PCB STREQUAL X10)
|
||||
set(FLAVOUR x10)
|
||||
set(PCBREV "STD" CACHE STRING "PCB Revision")
|
||||
add_definitions(-DPCBX10)
|
||||
add_definitions(-DSOFTWARE_VOLUME)
|
||||
|
@ -42,9 +41,11 @@ if (PCB STREQUAL X10)
|
|||
set(LCD_DRIVER lcd_driver.cpp)
|
||||
set(LUA_EXPORT lua_export_x10)
|
||||
if (PCBREV STREQUAL EXPRESS)
|
||||
set(FLAVOUR x10express)
|
||||
option(INTERNAL_MODULE_PXX1 "Support for PXX1 internal module" OFF)
|
||||
option(INTERNAL_MODULE_PXX2 "Support for PXX2 internal module" ON)
|
||||
else()
|
||||
set(FLAVOUR x10)
|
||||
option(INTERNAL_MODULE_PXX1 "Support for PXX1 internal module" ON)
|
||||
option(INTERNAL_MODULE_PXX2 "Support for PXX2 internal module" OFF)
|
||||
endif()
|
||||
|
|
|
@ -59,10 +59,10 @@ make -j${JOBS} libsimulator
|
|||
cmake ${COMMON_OPTIONS} -DPCB=X9D ${SRCDIR}
|
||||
make -j${JOBS} libsimulator
|
||||
|
||||
cmake ${COMMON_OPTIONS} -DPCB=X9D+ -DPCBREV=2019 ${SRCDIR}
|
||||
cmake ${COMMON_OPTIONS} -DPCB=X9D+ ${SRCDIR}
|
||||
make -j${JOBS} libsimulator
|
||||
|
||||
cmake ${COMMON_OPTIONS} -DPCB=X9D+ ${SRCDIR}
|
||||
cmake ${COMMON_OPTIONS} -DPCB=X9D+ -DPCBREV=2019 ${SRCDIR}
|
||||
make -j${JOBS} libsimulator
|
||||
|
||||
cmake ${COMMON_OPTIONS} -DPCB=XLITE ${SRCDIR}
|
||||
|
@ -77,6 +77,9 @@ make -j${JOBS} libsimulator
|
|||
cmake ${COMMON_OPTIONS} -DPCB=X10 ${SRCDIR}
|
||||
make -j${JOBS} libsimulator
|
||||
|
||||
cmake ${COMMON_OPTIONS} -DPCB=X10 -DPCBREV=EXPRESS ${SRCDIR}
|
||||
make -j${JOBS} libsimulator
|
||||
|
||||
cmake ${COMMON_OPTIONS} -DPCB=X12S ${SRCDIR}
|
||||
make -j${JOBS} libsimulator
|
||||
|
||||
|
|
|
@ -59,6 +59,9 @@ make -j${JOBS} libsimulator
|
|||
cmake ${COMMON_OPTIONS} -DPCB=X9D+ ${SRCDIR}
|
||||
make -j${JOBS} libsimulator
|
||||
|
||||
cmake ${COMMON_OPTIONS} -DPCB=X9D+ -DPCBREV=2019 ${SRCDIR}
|
||||
make -j${JOBS} libsimulator
|
||||
|
||||
cmake ${COMMON_OPTIONS} -DPCB=XLITE ${SRCDIR}
|
||||
make -j${JOBS} libsimulator
|
||||
|
||||
|
@ -71,6 +74,9 @@ make -j${JOBS} libsimulator
|
|||
cmake ${COMMON_OPTIONS} -DPCB=X10 ${SRCDIR}
|
||||
make -j${JOBS} libsimulator
|
||||
|
||||
cmake ${COMMON_OPTIONS} -DPCB=X10 -DPCBREV=EXPRESS ${SRCDIR}
|
||||
make -j${JOBS} libsimulator
|
||||
|
||||
cmake ${COMMON_OPTIONS} -DPCB=X12S ${SRCDIR}
|
||||
make -j${JOBS} libsimulator
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue