diff --git a/.github/workflows/actions.yml b/.github/workflows/actions.yml index 388357d5a..a9603a87b 100644 --- a/.github/workflows/actions.yml +++ b/.github/workflows/actions.yml @@ -84,7 +84,7 @@ jobs: - t16 - t18 - t8;zorro;commando8 - - tlite;tpro + - tlite;tpro;lr3pro - tx12;tx12mk2 - tx16s - x10;x10-access diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index 8e102774e..866d757e1 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -23,7 +23,7 @@ jobs: - t16 - t18 - t8;zorro;commando8 - - tlite;tpro + - tlite;tpro;lr3pro - tx12;tx12mk2 - tx16s - x10;x10-access diff --git a/companion/src/CMakeLists.txt b/companion/src/CMakeLists.txt index 1ad36385b..fa3439263 100644 --- a/companion/src/CMakeLists.txt +++ b/companion/src/CMakeLists.txt @@ -335,6 +335,8 @@ elseif(PCB STREQUAL X7 AND PCBREV STREQUAL TX12MK2) set(FLAVOUR tx12mk2) elseif(PCB STREQUAL X7 AND PCBREV STREQUAL ZORRO) set(FLAVOUR zorro) +elseif(PCB STREQUAL X7 AND PCBREV STREQUAL LR3PRO) + set(FLAVOUR lr3pro) elseif(PCB STREQUAL X7 AND PCBREV STREQUAL T8) set(FLAVOUR t8) elseif(PCB STREQUAL X9D+ AND PCBREV STREQUAL 2019) diff --git a/companion/src/companion.qrc b/companion/src/companion.qrc index 9bdbdee8b..144bfeaad 100644 --- a/companion/src/companion.qrc +++ b/companion/src/companion.qrc @@ -214,6 +214,16 @@ images/simulator/Zorro/right-mdl.png images/simulator/Zorro/bottom.png images/simulator/Zorro/top.png + images/simulator/LR3PRO/top.png + images/simulator/LR3PRO/bottom.png + images/simulator/LR3PRO/left.png + images/simulator/LR3PRO/right.png + images/simulator/LR3PRO/right_plus.png + images/simulator/LR3PRO/right_minus.png + images/simulator/LR3PRO/right_up.png + images/simulator/LR3PRO/right_down.png + images/simulator/LR3PRO/right_enter.png + images/simulator/LR3PRO/left_escape.png images/simulator/T8/left.png images/simulator/T8/left-pageup.png images/simulator/T8/left-pagedn.png diff --git a/companion/src/firmwares/boards.cpp b/companion/src/firmwares/boards.cpp index bab5e977e..07eb074ee 100644 --- a/companion/src/firmwares/boards.cpp +++ b/companion/src/firmwares/boards.cpp @@ -79,6 +79,8 @@ uint32_t Boards::getFourCC(Type board) case BOARD_AR9X: case BOARD_9XRPRO: return 0x3278746F; + case BOARD_BETAFPV_LR3PRO: + return 0x4578746F; case BOARD_JUMPER_T12: return 0x3D78746F; case BOARD_JUMPER_TLITE: @@ -122,6 +124,7 @@ int Boards::getEEpromSize(Board::Type board) case BOARD_TARANIS_X9DP: case BOARD_TARANIS_X9DP_2019: case BOARD_TARANIS_X9E: + case BOARD_BETAFPV_LR3PRO: case BOARD_JUMPER_T12: case BOARD_JUMPER_TLITE: case BOARD_JUMPER_TPRO: @@ -162,6 +165,7 @@ int Boards::getFlashSize(Type board) case BOARD_TARANIS_X9DP: case BOARD_TARANIS_X9DP_2019: case BOARD_TARANIS_X9E: + case BOARD_BETAFPV_LR3PRO: case BOARD_JUMPER_T12: case BOARD_JUMPER_TLITE: case BOARD_JUMPER_TPRO: @@ -201,7 +205,7 @@ SwitchInfo Boards::getSwitchInfo(Board::Type board, int index) if (index < DIM(switches)) return switches[index]; } - else if (IS_TARANIS_XLITE(board) || IS_JUMPER_TLITE(board) || IS_JUMPER_TPRO(board)) { + else if (IS_TARANIS_XLITE(board) || IS_JUMPER_TLITE(board) || IS_JUMPER_TPRO(board) || IS_BETAFPV_LR3PRO(board)) { const Board::SwitchInfo switches[] = { {SWITCH_3POS, "SA"}, {SWITCH_3POS, "SB"}, @@ -368,7 +372,7 @@ int Boards::getCapability(Board::Type board, Board::Capability capability) case Pots: if (IS_TARANIS_X9LITE(board)) return 1; - else if (IS_JUMPER_TLITE(board)) + else if (IS_JUMPER_TLITE(board) || IS_BETAFPV_LR3PRO(board)) return 0; else if (IS_TARANIS_SMALL(board) || IS_JUMPER_TPRO(board)) return 2; @@ -432,7 +436,7 @@ int Boards::getCapability(Board::Type board, Board::Capability capability) return 7; else if (board == BOARD_TARANIS_X7) return 8; - else if (board == BOARD_JUMPER_TLITE || board == BOARD_JUMPER_TPRO) + else if (board == BOARD_JUMPER_TLITE || board == BOARD_JUMPER_TPRO || board == BOARD_BETAFPV_LR3PRO) return 4; else if (board == BOARD_FLYSKY_NV14) return 8; @@ -455,7 +459,7 @@ int Boards::getCapability(Board::Type board, Board::Capability capability) case FactoryInstalledSwitches: if (IS_TARANIS_X9E(board)) return 8; - else if (IS_JUMPER_TLITE(board) || IS_JUMPER_TPRO(board)) + else if (IS_JUMPER_TLITE(board) || IS_JUMPER_TPRO(board) || IS_BETAFPV_LR3PRO(board)) return 4; else if(IS_RADIOMASTER_ZORRO(board)) return 8; @@ -667,6 +671,8 @@ QString Boards::getBoardName(Board::Type board) return "Radiomaster T8"; case BOARD_FLYSKY_NV14: return "FlySky NV14"; + case BOARD_BETAFPV_LR3PRO: + return "BETAFPV LR3PRO"; default: return CPN_STR_UNKNOWN_ITEM; } @@ -878,6 +884,7 @@ int Boards::getDefaultInternalModules(Board::Type board) return (int)MODULE_TYPE_MULTIMODULE; case BOARD_RADIOMASTER_ZORRO: + case BOARD_BETAFPV_LR3PRO: return (int)MODULE_TYPE_CROSSFIRE; case BOARD_FLYSKY_NV14: diff --git a/companion/src/firmwares/boards.h b/companion/src/firmwares/boards.h index 71f298fef..03b9ad5c9 100644 --- a/companion/src/firmwares/boards.h +++ b/companion/src/firmwares/boards.h @@ -65,6 +65,7 @@ namespace Board { BOARD_FLYSKY_NV14, BOARD_RADIOMASTER_ZORRO, BOARD_JUMPER_TPRO, + BOARD_BETAFPV_LR3PRO, BOARD_TYPE_COUNT, BOARD_TYPE_MAX = BOARD_TYPE_COUNT - 1 }; @@ -242,6 +243,11 @@ inline bool IS_9XRPRO(Board::Type board) return board == Board::BOARD_9XRPRO; } +inline bool IS_BETAFPV_LR3PRO(Board::Type board) +{ + return board == Board::BOARD_BETAFPV_LR3PRO; +} + inline bool IS_JUMPER_T12(Board::Type board) { return board == Board::BOARD_JUMPER_T12; @@ -300,6 +306,7 @@ inline bool IS_FAMILY_T12(Board::Type board) board == Board::BOARD_RADIOMASTER_ZORRO || board == Board::BOARD_RADIOMASTER_T8 || board == Board::BOARD_JUMPER_TLITE || + board == Board::BOARD_BETAFPV_LR3PRO || board == Board::BOARD_JUMPER_TPRO; } diff --git a/companion/src/firmwares/opentx/opentxeeprom.h b/companion/src/firmwares/opentx/opentxeeprom.h index 5ad907871..affc01f60 100644 --- a/companion/src/firmwares/opentx/opentxeeprom.h +++ b/companion/src/firmwares/opentx/opentxeeprom.h @@ -37,6 +37,7 @@ #define TARANIS_X9LITES_VARIANT 0x0801 #define JUMPER_T12_VARIANT 0x4001 #define RADIOMASTER_TX12_VARIANT 0x4002 +#define BETAFPV_LR3PRO_VARIANT 0x4007 #define JUMPER_TLITE_VARIANT 0x4003 #define RADIOMASTER_T8_VARIANT 0x4004 #define RADIOMASTER_ZORRO_VARIANT 0x4006 diff --git a/companion/src/firmwares/opentx/opentxinterface.cpp b/companion/src/firmwares/opentx/opentxinterface.cpp index e8c03f992..27997993b 100644 --- a/companion/src/firmwares/opentx/opentxinterface.cpp +++ b/companion/src/firmwares/opentx/opentxinterface.cpp @@ -110,6 +110,8 @@ const char * OpenTxEepromInterface::getName() return "EdgeTX for FrSky X10 Express"; case BOARD_FLYSKY_NV14: return "EdgeTX for FlySky NV14"; + case BOARD_BETAFPV_LR3PRO: + return "EdgeTx for BETAFPV LR3PRO"; default: return "Board is unknown to EdgeTX"; } @@ -343,6 +345,9 @@ int OpenTxEepromInterface::save(uint8_t * eeprom, const RadioData & radioData, u else if (IS_TARANIS_XLITE(board)) { variant |= TARANIS_XLITE_VARIANT; } + else if (IS_BETAFPV_LR3PRO(board)) { + variant |= BETAFPV_LR3PRO_VARIANT; + } else if (IS_JUMPER_T12(board)) { variant |= JUMPER_T12_VARIANT; } @@ -709,6 +714,8 @@ int OpenTxFirmware::getCapability(::Capability capability) return TARANIS_XLITES_VARIANT; else if (IS_TARANIS_XLITE(board)) return TARANIS_XLITE_VARIANT; + else if (IS_BETAFPV_LR3PRO(board)) + return BETAFPV_LR3PRO_VARIANT; else if (IS_JUMPER_T12(board)) return JUMPER_T12_VARIANT; else if (IS_JUMPER_TLITE(board)) @@ -819,7 +826,7 @@ bool OpenTxFirmware::isAvailable(PulsesProtocol proto, int port) case PULSES_ACCST_ISRM_D16: return IS_ACCESS_RADIO(board, id); case PULSES_MULTIMODULE: - return id.contains("internalmulti") || IS_RADIOMASTER_TX16S(board) || IS_JUMPER_T18(board) || IS_RADIOMASTER_TX12(board) || IS_JUMPER_TLITE(board); + return id.contains("internalmulti") || IS_RADIOMASTER_TX16S(board) || IS_JUMPER_T18(board) || IS_RADIOMASTER_TX12(board) || IS_JUMPER_TLITE(board) || IS_BETAFPV_LR3PRO(board); case PULSES_AFHDS3: return IS_FLYSKY_NV14(board); default: @@ -853,7 +860,7 @@ bool OpenTxFirmware::isAvailable(PulsesProtocol proto, int port) case PULSES_XJT_LITE_X16: case PULSES_XJT_LITE_D8: case PULSES_XJT_LITE_LR12: - return (IS_TARANIS_XLITE(board) || IS_TARANIS_X9LITE(board) || IS_JUMPER_TLITE(board)); + return (IS_TARANIS_XLITE(board) || IS_TARANIS_X9LITE(board) || IS_JUMPER_TLITE(board) || IS_BETAFPV_LR3PRO(board)); default: return false; } @@ -1044,6 +1051,11 @@ bool OpenTxEepromInterface::checkVariant(unsigned int version, unsigned int vari variantError = true; } } + else if (IS_BETAFPV_LR3PRO(board)) { + if (variant != BETAFPV_LR3PRO_VARIANT) { + variantError = true; + } + } else if (IS_JUMPER_T12(board)) { if (variant != JUMPER_T12_VARIANT) { variantError = true; @@ -1485,6 +1497,16 @@ void registerOpenTxFirmwares() addOpenTxRfOptions(firmware, FLEX + AFHDS3); registerOpenTxFirmware(firmware); + /* BETAFPV LR3PRO board */ + firmware = new OpenTxFirmware(FIRMWAREID("lr3pro"), QCoreApplication::translate("Firmware", "BETAFPV LiteRadio3 Pro"), BOARD_BETAFPV_LR3PRO); + addOpenTxCommonOptions(firmware); + firmware->addOption("noheli", Firmware::tr("Disable HELI menu and cyclic mix support")); + firmware->addOption("nogvars", Firmware::tr("Disable Global variables")); + firmware->addOption("lua", Firmware::tr("Enable Lua custom scripts screen")); + addOpenTxFontOptions(firmware); + registerOpenTxFirmware(firmware); + addOpenTxRfOptions(firmware, FLEX); + /* 9XR-Pro */ firmware = new OpenTxFirmware(FIRMWAREID("9xrpro"), Firmware::tr("Turnigy 9XR-PRO"), BOARD_9XRPRO); addOpenTxArm9xOptions(firmware, false); diff --git a/companion/src/images/simulator/LR3PRO/bottom.png b/companion/src/images/simulator/LR3PRO/bottom.png new file mode 100644 index 000000000..71b010e30 Binary files /dev/null and b/companion/src/images/simulator/LR3PRO/bottom.png differ diff --git a/companion/src/images/simulator/LR3PRO/center_LCD.png b/companion/src/images/simulator/LR3PRO/center_LCD.png new file mode 100644 index 000000000..f3249de16 Binary files /dev/null and b/companion/src/images/simulator/LR3PRO/center_LCD.png differ diff --git a/companion/src/images/simulator/LR3PRO/left.png b/companion/src/images/simulator/LR3PRO/left.png new file mode 100644 index 000000000..14c88f5c5 Binary files /dev/null and b/companion/src/images/simulator/LR3PRO/left.png differ diff --git a/companion/src/images/simulator/LR3PRO/left_escape.png b/companion/src/images/simulator/LR3PRO/left_escape.png new file mode 100644 index 000000000..111a25b4b Binary files /dev/null and b/companion/src/images/simulator/LR3PRO/left_escape.png differ diff --git a/companion/src/images/simulator/LR3PRO/right.png b/companion/src/images/simulator/LR3PRO/right.png new file mode 100644 index 000000000..100afea8c Binary files /dev/null and b/companion/src/images/simulator/LR3PRO/right.png differ diff --git a/companion/src/images/simulator/LR3PRO/right_down.png b/companion/src/images/simulator/LR3PRO/right_down.png new file mode 100644 index 000000000..e2f8d7fbb Binary files /dev/null and b/companion/src/images/simulator/LR3PRO/right_down.png differ diff --git a/companion/src/images/simulator/LR3PRO/right_enter.png b/companion/src/images/simulator/LR3PRO/right_enter.png new file mode 100644 index 000000000..584b7230f Binary files /dev/null and b/companion/src/images/simulator/LR3PRO/right_enter.png differ diff --git a/companion/src/images/simulator/LR3PRO/right_minus.png b/companion/src/images/simulator/LR3PRO/right_minus.png new file mode 100644 index 000000000..3bcdcd7ba Binary files /dev/null and b/companion/src/images/simulator/LR3PRO/right_minus.png differ diff --git a/companion/src/images/simulator/LR3PRO/right_plus.png b/companion/src/images/simulator/LR3PRO/right_plus.png new file mode 100644 index 000000000..16362ad01 Binary files /dev/null and b/companion/src/images/simulator/LR3PRO/right_plus.png differ diff --git a/companion/src/images/simulator/LR3PRO/right_up.png b/companion/src/images/simulator/LR3PRO/right_up.png new file mode 100644 index 000000000..e091a54a2 Binary files /dev/null and b/companion/src/images/simulator/LR3PRO/right_up.png differ diff --git a/companion/src/images/simulator/LR3PRO/top.png b/companion/src/images/simulator/LR3PRO/top.png new file mode 100644 index 000000000..9e4bcf6c6 Binary files /dev/null and b/companion/src/images/simulator/LR3PRO/top.png differ diff --git a/companion/src/simulation/CMakeLists.txt b/companion/src/simulation/CMakeLists.txt index 348016614..70d6dcac4 100644 --- a/companion/src/simulation/CMakeLists.txt +++ b/companion/src/simulation/CMakeLists.txt @@ -19,6 +19,7 @@ set(simulation_SRCS simulateduiwidgetJumperT18.cpp simulateduiwidgetTX12.cpp simulateduiwidgetZorro.cpp + simulateduiwidgetLR3PRO.cpp simulateduiwidgetT8.cpp simulateduiwidgetTX16S.cpp simulateduiwidgetNV14.cpp @@ -52,6 +53,7 @@ set(simulation_UIS simulateduiwidgetJumperT18.ui simulateduiwidgetTX12.ui simulateduiwidgetZorro.ui + simulateduiwidgetLR3PRO.ui simulateduiwidgetT8.ui simulateduiwidgetTX16S.ui simulateduiwidgetNV14.ui diff --git a/companion/src/simulation/simulateduiwidget.h b/companion/src/simulation/simulateduiwidget.h index 187a60660..23400d237 100644 --- a/companion/src/simulation/simulateduiwidget.h +++ b/companion/src/simulation/simulateduiwidget.h @@ -119,6 +119,7 @@ namespace Ui { class SimulatedUIWidgetTX16S; class SimulatedUIWidgetTX12; class SimulatedUIWidgetZorro; + class SimulatedUIWidgetLR3PRO; class SimulatedUIWidgetT8; class SimulatedUIWidgetNV14; } @@ -271,6 +272,18 @@ class SimulatedUIWidgetJumperTPRO: public SimulatedUIWidget Ui::SimulatedUIWidgetJumperTPRO * ui; }; +class SimulatedUIWidgetLR3PRO: public SimulatedUIWidget +{ + Q_OBJECT + + public: + explicit SimulatedUIWidgetLR3PRO(SimulatorInterface * simulator, QWidget * parent = NULL); + virtual ~SimulatedUIWidgetLR3PRO(); + + private: + Ui::SimulatedUIWidgetLR3PRO * ui; +}; + class SimulatedUIWidgetJumperT16: public SimulatedUIWidget { Q_OBJECT @@ -319,7 +332,6 @@ class SimulatedUIWidgetZorro: public SimulatedUIWidget Ui::SimulatedUIWidgetZorro * ui; }; - class SimulatedUIWidgetT8: public SimulatedUIWidget { Q_OBJECT diff --git a/companion/src/simulation/simulateduiwidgetLR3PRO.cpp b/companion/src/simulation/simulateduiwidgetLR3PRO.cpp new file mode 100644 index 000000000..a922dc56c --- /dev/null +++ b/companion/src/simulation/simulateduiwidgetLR3PRO.cpp @@ -0,0 +1,60 @@ +#include "simulateduiwidget.h" +#include "ui_simulateduiwidgetLR3PRO.h" + +// NOTE: RadioUiAction(NUMBER,...): NUMBER relates to enum EnumKeys in the specific board.h + +SimulatedUIWidgetLR3PRO::SimulatedUIWidgetLR3PRO(SimulatorInterface *simulator, QWidget * parent): + SimulatedUIWidget(simulator, parent), + ui(new Ui::SimulatedUIWidgetLR3PRO) +{ + RadioUiAction * act; + + ui->setupUi(this); + + act = new RadioUiAction(3, QList() << Qt::Key_Up << Qt::Key_PageUp, SIMU_STR_HLP_KEYS_GO_UP, SIMU_STR_HLP_ACT_UP); + addRadioWidget(ui->rightbuttons->addArea(QRect(30, 68, 30, 20), "LR3PRO/right_up.png", act)); + + act = new RadioUiAction(2, QList() << Qt::Key_Down << Qt::Key_PageDown, SIMU_STR_HLP_KEYS_GO_DN, SIMU_STR_HLP_ACT_DN); + addRadioWidget(ui->rightbuttons->addArea(QRect(30, 130, 30, 20), "LR3PRO/right_down.png", act)); + + act = new RadioUiAction(4, QList() << Qt::Key_Right << Qt::Key_Plus, SIMU_STR_HLP_KEY_RGT % "|" % SIMU_STR_HLP_KEY_PLS, SIMU_STR_HLP_ACT_PLS); + addRadioWidget(ui->rightbuttons->addArea(QRect(70, 95, 20, 30), "LR3PRO/right_plus.png", act)); + + act = new RadioUiAction(5, QList() << Qt::Key_Left << Qt::Key_Minus, SIMU_STR_HLP_KEY_LFT % "|" % SIMU_STR_HLP_KEY_MIN, SIMU_STR_HLP_ACT_MIN); + addRadioWidget(ui->rightbuttons->addArea(QRect(0, 95, 20, 30), "LR3PRO/right_minus.png", act)); + + m_mouseMidClickAction = new RadioUiAction(1, QList() << Qt::Key_Enter << Qt::Key_Return, SIMU_STR_HLP_KEYS_ACTIVATE, SIMU_STR_HLP_ACT_ENT); + addRadioWidget(ui->rightbuttons->addArea(QRect(30, 95, 30, 30), "LR3PRO/right_enter.png", m_mouseMidClickAction)); + + act = new RadioUiAction(0, QList() << Qt::Key_Delete << Qt::Key_Escape << Qt::Key_Backspace, SIMU_STR_HLP_KEYS_EXIT, SIMU_STR_HLP_ACT_EXIT); + addRadioWidget(ui->leftbuttons->addArea(QRect(58, 98, 30, 30), "LR3PRO/left_escape.png", act)); + + //addRadioWidget(ui->leftbuttons->addArea(QRect(10, 65, 70, 50), "LR3PRO/left_scrnshot.png", m_screenshotAction)); + + m_backlightColors << QColor(215, 243, 255); // X7 Blue + m_backlightColors << QColor(166,247,159); + m_backlightColors << QColor(247,159,166); + m_backlightColors << QColor(255,195,151); + m_backlightColors << QColor(247,242,159); + + setLcd(ui->lcd); + + QString css = "#radioUiWidget {" + "background-color: qlineargradient(spread:reflect, x1:0, y1:0, x2:0, y2:1," + "stop:0 rgba(255, 255, 255, 255)," + "stop:0.757062 rgba(241, 238, 238, 255)," + "stop:1 rgba(247, 245, 245, 255));" + "}"; + + QTimer * tim = new QTimer(this); + tim->setSingleShot(true); + connect(tim, &QTimer::timeout, [this, css]() { + emit customStyleRequest(css); + }); + tim->start(100); +} + +SimulatedUIWidgetLR3PRO::~SimulatedUIWidgetLR3PRO() +{ + delete ui; +} diff --git a/companion/src/simulation/simulateduiwidgetLR3PRO.ui b/companion/src/simulation/simulateduiwidgetLR3PRO.ui new file mode 100644 index 000000000..a5fde6156 --- /dev/null +++ b/companion/src/simulation/simulateduiwidgetLR3PRO.ui @@ -0,0 +1,258 @@ + + + SimulatedUIWidgetLR3PRO + + + + 0 + 0 + 501 + 310 + + + + + 0 + 0 + + + + + 501 + 310 + + + + + 501 + 310 + + + + Jumper T-Lite Simulator + + + background-color: qlineargradient(spread:reflect, x1:0, y1:0, x2:0, y2:1, stop:0 rgba(255, 255, 255, 255), stop:0.757062 rgba(241, 238, 238, 255), stop:1 rgba(247, 245, 245, 255)); + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + 0 + 0 + + + + + 122 + 287 + + + + + 122 + 287 + + + + background:url(:/images/simulator/LR3PRO/left.png); + + + + + + + + 0 + 0 + + + + + 800 + 155 + + + + + 800 + 117 + + + + background-color: rgb(215, 243, 255); + + + + + + + + 0 + 0 + + + + + 122 + 287 + + + + + 122 + 287 + + + + background:url(:/images/simulator/LR3PRO/right.png) + + + + + + + + 0 + 0 + + + + + 258 + 26 + + + + + 258 + 26 + + + + background:url(:/images/simulator/LR3PRO/top.png) + + + + + + + + 0 + 0 + + + + + 258 + 106 + + + + + 258 + 106 + + + + background:url(:/images/simulator/LR3PRO/bottom.png) + + + + + + + + 0 + 0 + + + + + 0 + 10 + + + + + 16777215 + 12 + + + + + 0 + 12 + + + + background-color: rgb(255, 255, 255); + + + + + + + + + + + 0 + 0 + + + + + 0 + 10 + + + + + 16777215 + 10 + + + + background-color: rgb(247, 245, 245); + + + + + + + + + + + LcdWidget + QWidget +
lcdwidget.h
+ 1 +
+ + ButtonsWidget + QWidget +
buttonswidget.h
+ 1 +
+
+ + +
diff --git a/companion/src/simulation/simulatorwidget.cpp b/companion/src/simulation/simulatorwidget.cpp index 406e2bdbe..295cb857a 100644 --- a/companion/src/simulation/simulatorwidget.cpp +++ b/companion/src/simulation/simulatorwidget.cpp @@ -109,6 +109,9 @@ SimulatorWidget::SimulatorWidget(QWidget * parent, SimulatorInterface * simulato case Board::BOARD_RADIOMASTER_ZORRO: radioUiWidget = new SimulatedUIWidgetZorro(simulator, this); break; + case Board::BOARD_BETAFPV_LR3PRO: + radioUiWidget = new SimulatedUIWidgetLR3PRO(simulator, this); + break; case Board::BOARD_RADIOMASTER_T8: radioUiWidget = new SimulatedUIWidgetT8(simulator, this); break; diff --git a/tools/build-companion.sh b/tools/build-companion.sh index 0518e54da..94b375b73 100755 --- a/tools/build-companion.sh +++ b/tools/build-companion.sh @@ -67,7 +67,7 @@ declare -a simulator_plugins=(x9lite x9lites x7 x7-access t8 t12 tx12 zorro - tlite tpro + tlite tpro lr3pro x9d x9dp x9dp2019 x9e xlite xlites nv14 @@ -104,6 +104,9 @@ do zorro) BUILD_OPTIONS+="-DPCB=X7 -DPCBREV=ZORRO" ;; + lr3pro) + BUILD_OPTIONS+="-DPCB=X7 -DPCBREV=LR3PRO" + ;; tlite) BUILD_OPTIONS+="-DPCB=X7 -DPCBREV=TLITE" ;; diff --git a/tools/commit-tests.sh b/tools/commit-tests.sh index f9f3670d2..d628cf5e8 100755 --- a/tools/commit-tests.sh +++ b/tools/commit-tests.sh @@ -94,6 +94,9 @@ do t8) BUILD_OPTIONS+="-DPCB=X7 -DPCBREV=T8" ;; + lr3pro) + BUILD_OPTIONS+="-DPCB=X7 -DPCBREV=LR3PRO" + ;; tlite) BUILD_OPTIONS+="-DPCB=X7 -DPCBREV=TLITE" ;; diff --git a/tools/generate-yaml.sh b/tools/generate-yaml.sh index 30ad4154b..fc106c6f2 100755 --- a/tools/generate-yaml.sh +++ b/tools/generate-yaml.sh @@ -9,7 +9,7 @@ if [[ -n ${GCC_ARM} ]] ; then export PATH=${GCC_ARM}:$PATH fi -: ${FLAVOR:="t12;t8;tlite;tpro;tx12;tx12mk2;zorro;tx16s;x12s;nv14;x7;x9d;x9dp;x9e;x9lite;x9lites;xlite;xlites"} +: ${FLAVOR:="t12;t8;tlite;tpro;lr3pro;tx12;tx12mk2;zorro;tx16s;x12s;nv14;x7;x9d;x9dp;x9e;x9lite;x9lites;xlite;xlites"} : ${SRCDIR:=$(dirname "$(pwd)/$0")/..} : ${COMMON_OPTIONS:="-DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_RULE_MESSAGES=OFF -Wno-dev -DYAML_STORAGE=YES "} @@ -50,6 +50,9 @@ do zorro) BUILD_OPTIONS+="-DPCB=X7 -DPCBREV=ZORRO" ;; + lr3pro) + BUILD_OPTIONS+="-DPCB=X7 -DPCBREV=LR3PRO" + ;; t8) BUILD_OPTIONS+="-DPCB=X7 -DPCBREV=T8" ;;