Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: EdgeTX/edgetx
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v2.10.3
Choose a base ref
...
head repository: EdgeTX/edgetx
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 2.10
Choose a head ref

Commits on Aug 7, 2024

  1. Copy the full SHA
    735d41a View commit details
  2. Copy the full SHA
    97447ad View commit details

Commits on Aug 8, 2024

  1. Copy the full SHA
    854a9bb View commit details

Commits on Aug 9, 2024

  1. fix(bw): ignore short/long press of ENTER if cursor on menu line (#5404)

    Co-authored-by: Peter Feerick <peter.feerick@gmail.com>
    philmoz and pfeerick committed Aug 9, 2024
    Copy the full SHA
    224e118 View commit details

Commits on Aug 16, 2024

  1. Copy the full SHA
    4b87484 View commit details

Commits on Aug 17, 2024

  1. fix: BT defined on T15 (#5448)

    Co-authored-by: 3djc <3djc@gh.com>
    pfeerick and 3djc authored Aug 17, 2024
    Copy the full SHA
    f6cfec5 View commit details

Commits on Aug 28, 2024

  1. fix: xjt lite telem binding (#5468)

    3djc authored and pfeerick committed Aug 28, 2024
    Copy the full SHA
    01c7497 View commit details

Commits on Aug 29, 2024

  1. chore: bump version

    pfeerick committed Aug 29, 2024
    Copy the full SHA
    9b90168 View commit details

Commits on Aug 31, 2024

  1. fix: disable HELI on x9dp2019 due to translation overflow

    As `UA` overflows only on x9dp2019
    pfeerick committed Aug 31, 2024
    Copy the full SHA
    7ec993c View commit details

Commits on Sep 8, 2024

  1. Copy the full SHA
    aed3dc3 View commit details
  2. Copy the full SHA
    ec8f271 View commit details

Commits on Sep 9, 2024

  1. Copy the full SHA
    9e0c39b View commit details

Commits on Sep 11, 2024

  1. Copy the full SHA
    d10488e View commit details
  2. Copy the full SHA
    6b192e9 View commit details

Commits on Sep 19, 2024

  1. fix(color): full screen widget may not exit cleanly after calling lcd…

    ….exitFullScreen() (#5544)
    philmoz authored and pfeerick committed Sep 19, 2024
    Copy the full SHA
    f4a6123 View commit details

Commits on Sep 30, 2024

  1. Copy the full SHA
    6c3aaef View commit details

Commits on Oct 6, 2024

  1. Copy the full SHA
    5237a3c View commit details

Commits on Oct 8, 2024

  1. Copy the full SHA
    6007cfd View commit details

Commits on Oct 11, 2024

  1. feat: add support for Jumper Bumblebee (#5599)

    Co-authored-by: philmoz <phil.a.mitchell@gmail.com>
    Co-authored-by: Peter Feerick <peter.feerick@gmail.com>
    3 people authored Oct 11, 2024
    Copy the full SHA
    ebf9a3f View commit details
  2. chore: bump version

    Prep for 2.10.5
    pfeerick committed Oct 11, 2024
    Copy the full SHA
    6b539d0 View commit details

Commits on Oct 17, 2024

  1. Copy the full SHA
    7b3ed85 View commit details

Commits on Oct 19, 2024

  1. chore(tools): reorder msys2 compile steps (#5627)

    Co-authored-by: elecpower <elecpower@users.noreply.github.com>
    2 people authored and pfeerick committed Oct 19, 2024
    Copy the full SHA
    be2d6ea View commit details

Commits on Oct 22, 2024

  1. Copy the full SHA
    20bcbfd View commit details
  2. Copy the full SHA
    e7fdb41 View commit details

Commits on Nov 21, 2024

  1. Copy the full SHA
    9783309 View commit details

Commits on Jan 8, 2025

  1. Copy the full SHA
    d3c7b64 View commit details

Commits on Jan 21, 2025

  1. Copy the full SHA
    9da3613 View commit details

Commits on Jan 22, 2025

  1. Copy the full SHA
    f9bcba3 View commit details
  2. chore: bump version

    pfeerick committed Jan 22, 2025
    Copy the full SHA
    14adf04 View commit details

Commits on Jan 28, 2025

  1. Copy the full SHA
    2e754f6 View commit details

Commits on Jan 29, 2025

  1. fix(lvgl): lode_png type error (#5850)

    fix a compilation error with newer ARM GCC in LVGL.
    raphaelcoeffic authored Jan 29, 2025
    Copy the full SHA
    9169341 View commit details
  2. Copy the full SHA
    0369718 View commit details

Commits on Feb 8, 2025

  1. Copy the full SHA
    a4d20ba View commit details

Commits on Feb 12, 2025

  1. Copy the full SHA
    64e6fb8 View commit details
Showing with 847 additions and 226 deletions.
  1. +1 −1 .github/workflows/actions.yml
  2. +2 −2 .github/workflows/macosx_cpn.yml
  3. +1 −1 .github/workflows/nightly.yml
  4. +1 −1 .gitpod.yml
  5. +1 −1 CMakeLists.txt
  6. +1 −1 README.md
  7. +2 −0 companion/src/CMakeLists.txt
  8. +8 −0 companion/src/companion.qrc
  9. +7 −1 companion/src/firmwares/boards.cpp
  10. +7 −0 companion/src/firmwares/boards.h
  11. +2 −1 companion/src/firmwares/edgetx/yaml_modeldata.cpp
  12. +2 −2 companion/src/firmwares/generalsettings.cpp
  13. +10 −10 companion/src/firmwares/modeldata.cpp
  14. +8 −5 companion/src/firmwares/opentx/opentxeeprom.cpp
  15. +12 −0 companion/src/firmwares/opentx/opentxinterface.cpp
  16. BIN companion/src/images/simulator/JumperBumblebee/bottom.png
  17. BIN companion/src/images/simulator/JumperBumblebee/enter.png
  18. BIN companion/src/images/simulator/JumperBumblebee/exit.png
  19. BIN companion/src/images/simulator/JumperBumblebee/left.png
  20. BIN companion/src/images/simulator/JumperBumblebee/menu.png
  21. BIN companion/src/images/simulator/JumperBumblebee/page.png
  22. BIN companion/src/images/simulator/JumperBumblebee/right.png
  23. BIN companion/src/images/simulator/JumperBumblebee/top.png
  24. +2 −6 companion/src/mainwindow.cpp
  25. +1 −1 companion/src/mainwindow.h
  26. +2 −2 companion/src/mdichild.cpp
  27. +5 −5 companion/src/modeledit/customfunctions.cpp
  28. +1 −1 companion/src/shared/namevalidator.h
  29. +1 −0 companion/src/simulation/CMakeLists.txt
  30. +13 −0 companion/src/simulation/simulateduiwidget.h
  31. +57 −0 companion/src/simulation/simulateduiwidgetJumperBumblebee.cpp
  32. +196 −0 companion/src/simulation/simulateduiwidgetJumperBumblebee.ui
  33. +3 −0 companion/src/simulation/simulatorwidget.cpp
  34. +2 −1 fw.json
  35. +2 −1 radio/src/CMakeLists.txt
  36. +1 −8 radio/src/boards/generic_stm32/inputs.cpp
  37. +1 −1 radio/src/datastructs.h
  38. BIN radio/src/fonts/sqt5/font_04x06_extra.png
  39. BIN radio/src/fonts/sqt5/font_10x14_extra.png
  40. +5 −0 radio/src/gui/128x64/lcd.cpp
  41. +1 −1 radio/src/gui/128x64/lcd.h
  42. +9 −4 radio/src/gui/212x64/lcd.cpp
  43. +1 −1 radio/src/gui/212x64/lcd.h
  44. +1 −1 radio/src/gui/212x64/view_main.cpp
  45. +2 −0 radio/src/gui/colorlcd/widget.h
  46. +1 −1 radio/src/gui/colorlcd/widgets/value.cpp
  47. +14 −20 radio/src/gui/common/stdlcd/draw_functions.cpp
  48. +2 −2 radio/src/gui/common/stdlcd/model_inputs.cpp
  49. +2 −2 radio/src/gui/common/stdlcd/model_mixes.cpp
  50. +3 −1 radio/src/gui/navigation/navigation_9x.cpp
  51. +12 −9 radio/src/gui/navigation/navigation_x7.cpp
  52. +22 −21 radio/src/gui/navigation/navigation_x9d.cpp
  53. +19 −19 radio/src/gui/navigation/navigation_xlite.cpp
  54. +1 −1 radio/src/hal/rotary_encoder.h
  55. +27 −3 radio/src/keys.cpp
  56. +2 −5 radio/src/lua/api_colorlcd.cpp
  57. +6 −1 radio/src/lua/api_model.cpp
  58. +5 −0 radio/src/lua/lua_widget.cpp
  59. +33 −0 radio/src/pulses/crossfire.cpp
  60. +1 −1 radio/src/pulses/modules_helpers.h
  61. +1 −1 radio/src/simu.cpp
  62. +1 −1 radio/src/storage/yaml/yaml_datastructs.cpp
  63. +1 −1 radio/src/storage/yaml/yaml_datastructs_funcs.cpp
  64. +2 −1 radio/src/switches.cpp
  65. +6 −1 radio/src/targets/horus/CMakeLists.txt
  66. +1 −1 radio/src/targets/horus/board.cpp
  67. +31 −15 radio/src/targets/horus/hal.h
  68. +1 −1 radio/src/targets/nv14/CMakeLists.txt
  69. +3 −8 radio/src/targets/simu/simpgmspace.cpp
  70. +13 −0 radio/src/targets/taranis/CMakeLists.txt
  71. +187 −39 radio/src/targets/taranis/hal.h
  72. +4 −0 radio/src/targets/taranis/usb_descriptor.h
  73. +38 −0 radio/src/tests/module_ports.cpp
  74. +1 −1 radio/src/thirdparty/libopenui/thirdparty/lvgl
  75. +1 −1 radio/util/hw_defs/legacy_names.py
  76. +4 −0 radio/util/hw_defs/pot_config.py
  77. +12 −0 radio/util/hw_defs/switch_config.py
  78. +4 −1 tools/build-companion.sh
  79. +3 −0 tools/build-gh.sh
  80. +4 −1 tools/generate-hw-defs.sh
  81. +8 −8 tools/msys2_fetch_and_build_all.sh
2 changes: 1 addition & 1 deletion .github/workflows/actions.yml
Original file line number Diff line number Diff line change
@@ -101,7 +101,7 @@ jobs:
- t12;t12max
- t15;t16;t18
- t8;zorro;pocket;mt12;commando8
- tlite;tpro;tprov2;tpros;lr3pro
- tlite;tpro;tprov2;tpros;bumblebee;lr3pro
- t20;t20v2;t14
- tx12;tx12mk2;boxer
- tx16s
4 changes: 2 additions & 2 deletions .github/workflows/macosx_cpn.yml
Original file line number Diff line number Diff line change
@@ -32,13 +32,13 @@ jobs:
# well on Windows or Mac. You can convert this to a matrix build if you need
# cross-platform coverage.
# See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix
runs-on: macos-12
runs-on: macos-13

steps:
- name: Select XCode version
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: '13.2.1'
xcode-version: '14.1.0'

- name: Check out the repo
uses: actions/checkout@v4
2 changes: 1 addition & 1 deletion .github/workflows/nightly.yml
Original file line number Diff line number Diff line change
@@ -21,7 +21,7 @@ jobs:
- t12;t12max
- t15,t16;t18
- t8;zorro;pocket;mt12;commando8
- tlite;tpro;tprov2;tpros;lr3pro
- tlite;tpro;tprov2;tpros;bumblebee;lr3pro
- t20;t20v2;t14
- tx12;tx12mk2;boxer
- tx16s
2 changes: 1 addition & 1 deletion .gitpod.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
image: ghcr.io/edgetx/gitpod-workspace:latest
image: ghcr.io/edgetx/gitpod-workspace:2.10

tasks:
- name: Prep build folder
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -4,7 +4,7 @@ project(EdgeTX)

set(VERSION_MAJOR "2")
set(VERSION_MINOR "10")
set(VERSION_REVISION "3")
set(VERSION_REVISION "6")
set(CODENAME "Centurion")
string(TIMESTAMP BUILD_YEAR "%Y")

2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -2,7 +2,7 @@
[![GitHub all releases](https://img.shields.io/github/downloads/EdgeTX/edgetx/total)](https://github.com/EdgeTX/edgetx/releases)
[![GitHub license](https://img.shields.io/github/license/Edgetx/edgetx)](https://github.com/EdgeTX/edgetx/blob/main/LICENSE)
[![Commit Tests](https://github.com/EdgeTX/edgetx/actions/workflows/actions.yml/badge.svg)](https://github.com/EdgeTX/edgetx/actions/workflows/actions.yml)
[![Gitpod ready-to-code](https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod)](https://gitpod.io/#https://github.com/edgetx/edgetx/tree/main)
[![Gitpod ready-to-code](https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod)](https://gitpod.io/#https://github.com/edgetx/edgetx/tree/2.10)
[![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-%23FE5196?logo=conventionalcommits&logoColor=white)](https://conventionalcommits.org)
[![Discord](https://img.shields.io/discord/839849772864503828.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/wF9wUKnZ6H)
[![Support us on OpenCollective](https://img.shields.io/opencollective/all/edgetx)](https://opencollective.com/edgetx)
2 changes: 2 additions & 0 deletions companion/src/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -306,6 +306,8 @@ elseif(PCB STREQUAL X7 AND PCBREV STREQUAL TPRO)
set(FLAVOUR tpro)
elseif(PCB STREQUAL X7 AND PCBREV STREQUAL TPROV2)
set(FLAVOUR tprov2)
elseif(PCB STREQUAL X7 AND PCBREV STREQUAL BUMBLEBEE)
set(FLAVOUR bumblebee)
elseif(PCB STREQUAL X7 AND PCBREV STREQUAL T20)
set(FLAVOUR t20)
elseif(PCB STREQUAL X7 AND PCBREV STREQUAL T20V2)
8 changes: 8 additions & 0 deletions companion/src/companion.qrc
Original file line number Diff line number Diff line change
@@ -220,6 +220,14 @@
<file>images/simulator/JumperTPROS/exit.png</file>
<file>images/simulator/JumperTPROS/menu.png</file>
<file>images/simulator/JumperTPROS/page.png</file>
<file>images/simulator/JumperBumblebee/top.png</file>
<file>images/simulator/JumperBumblebee/bottom.png</file>
<file>images/simulator/JumperBumblebee/enter.png</file>
<file>images/simulator/JumperBumblebee/exit.png</file>
<file>images/simulator/JumperBumblebee/left.png</file>
<file>images/simulator/JumperBumblebee/menu.png</file>
<file>images/simulator/JumperBumblebee/page.png</file>
<file>images/simulator/JumperBumblebee/right.png</file>
<file>images/simulator/TX12/left.png</file>
<file>images/simulator/TX12/left-pageup.png</file>
<file>images/simulator/TX12/left-pagedn.png</file>
8 changes: 7 additions & 1 deletion companion/src/firmwares/boards.cpp
Original file line number Diff line number Diff line change
@@ -192,6 +192,7 @@ int Boards::getEEpromSize(Board::Type board)
case BOARD_JUMPER_TLITE_F4:
case BOARD_JUMPER_TPRO:
case BOARD_JUMPER_TPROV2:
case BOARD_JUMPER_BUMBLEBEE:
case BOARD_JUMPER_TPROS:
case BOARD_RADIOMASTER_TX12:
case BOARD_RADIOMASTER_TX12_MK2:
@@ -249,6 +250,7 @@ int Boards::getFlashSize(Type board)
case BOARD_JUMPER_TPRO:
case BOARD_JUMPER_TPROV2:
case BOARD_JUMPER_TPROS:
case BOARD_JUMPER_BUMBLEBEE:
case BOARD_RADIOMASTER_TX12:
case BOARD_RADIOMASTER_TX12_MK2:
case BOARD_RADIOMASTER_ZORRO:
@@ -292,7 +294,7 @@ int Boards::getCapability(Board::Type board, Board::Capability capability)
return 8;
else if (IS_JUMPER_TPROV2(board))
return 6;
else if (IS_JUMPER_TLITE(board) || IS_JUMPER_TPROV1(board) || IS_BETAFPV_LR3PRO(board) || IS_IFLIGHT_COMMANDO8(board))
else if (IS_JUMPER_TLITE(board) || IS_JUMPER_TPROV1(board) || IS_BETAFPV_LR3PRO(board) || IS_IFLIGHT_COMMANDO8(board) || IS_JUMPER_BUMBLEBEE(board))
return 4;
else if(IS_RADIOMASTER_ZORRO(board))
return 8;
@@ -336,6 +338,7 @@ int Boards::getCapability(Board::Type board, Board::Capability capability)
return ((IS_TARANIS_X9LITE(board) || (IS_TARANIS_XLITE(board) && !IS_TARANIS_X9LITES(board)) ||
IS_TARANIS_X9DP_2019(board) || IS_TARANIS_X7_ACCESS(board) || IS_RADIOMASTER_ZORRO(board) ||
IS_RADIOMASTER_TX12_MK2(board) || IS_RADIOMASTER_BOXER(board) || IS_RADIOMASTER_POCKET(board)) ||
IS_FAMILY_T16(board) || IS_FAMILY_HORUS(board) ||
(getCapability(board, HasExternalModuleSupport) && (IS_TARANIS(board) && !IS_FAMILY_T12(board))));

case MaxAnalogs:
@@ -543,6 +546,8 @@ QString Boards::getBoardName(Board::Type board)
return "Jumper T-Pro S";
case BOARD_JUMPER_T12MAX:
return "Jumper T12 MAX";
case BOARD_JUMPER_BUMBLEBEE:
return "Jumper Bumblebee";
case BOARD_JUMPER_T14:
return "Jumper T14";
case BOARD_JUMPER_T15:
@@ -693,6 +698,7 @@ int Boards::getDefaultInternalModules(Board::Type board)
case BOARD_JUMPER_T20V2:
case BOARD_JUMPER_TPROS:
case BOARD_JUMPER_T15:
case BOARD_JUMPER_BUMBLEBEE:
case BOARD_FATFISH_F16:
return (int)MODULE_TYPE_CROSSFIRE;

7 changes: 7 additions & 0 deletions companion/src/firmwares/boards.h
Original file line number Diff line number Diff line change
@@ -85,6 +85,7 @@ namespace Board {
BOARD_JUMPER_TPROS,
BOARD_RADIOMASTER_POCKET,
BOARD_JUMPER_T20V2,
BOARD_JUMPER_BUMBLEBEE,
BOARD_FATFISH_F16,
BOARD_TYPE_COUNT,
BOARD_TYPE_MAX = BOARD_TYPE_COUNT - 1
@@ -439,6 +440,11 @@ inline bool IS_JUMPER_TPROV2(Board::Type board)
return board == Board::BOARD_JUMPER_TPROV2;
}

inline bool IS_JUMPER_BUMBLEBEE(Board::Type board)
{
return board == Board::BOARD_JUMPER_BUMBLEBEE;
}

inline bool IS_JUMPER_TPROS(Board::Type board)
{
return board == Board::BOARD_JUMPER_TPROS;
@@ -532,6 +538,7 @@ inline bool IS_FAMILY_T12(Board::Type board)
board == Board::BOARD_JUMPER_TPRO ||
board == Board::BOARD_JUMPER_TPROV2 ||
board == Board::BOARD_JUMPER_TPROS ||
board == Board::BOARD_JUMPER_BUMBLEBEE ||
board == Board::BOARD_RADIOMASTER_TX12 ||
board == Board::BOARD_RADIOMASTER_TX12_MK2 ||
board == Board::BOARD_RADIOMASTER_ZORRO ||
3 changes: 2 additions & 1 deletion companion/src/firmwares/edgetx/yaml_modeldata.cpp
Original file line number Diff line number Diff line change
@@ -107,7 +107,8 @@ static const YamlLookupTable trainerModeLut = {
{ TRAINER_MODE_SLAVE_JACK, "SLAVE" },
{ TRAINER_MODE_MASTER_SBUS_EXTERNAL_MODULE, "MASTER_SBUS_EXT" },
{ TRAINER_MODE_MASTER_CPPM_EXTERNAL_MODULE, "MASTER_CPPM_EXT" },
{ TRAINER_MODE_MASTER_SERIAL, "MASTER_BATT_COMP" },
{ TRAINER_MODE_MASTER_SERIAL, "MASTER_SERIAL" },
{ TRAINER_MODE_MASTER_SERIAL, "MASTER_BATT_COMP" }, // depreciated, kept for conversion from older settings
{ TRAINER_MODE_MASTER_BLUETOOTH, "MASTER_BT" },
{ TRAINER_MODE_SLAVE_BLUETOOTH, "SLAVE_BT" },
{ TRAINER_MODE_MULTI, "MASTER_MULTI" },
4 changes: 2 additions & 2 deletions companion/src/firmwares/generalsettings.cpp
Original file line number Diff line number Diff line change
@@ -413,8 +413,8 @@ void GeneralSettings::convert(RadioDataConversionState & cstate)

// Try to intelligently copy any custom controls
// step 1 clear current config
memset(&inputConfig[0], '0', sizeof(InputConfig) * CPN_MAX_INPUTS);
memset(&switchConfig[0], '0', sizeof(SwitchConfig) * CPN_MAX_SWITCHES);
memset(&inputConfig[0], 0, sizeof(InputConfig) * CPN_MAX_INPUTS);
memset(&switchConfig[0], 0, sizeof(SwitchConfig) * CPN_MAX_SWITCHES);
// step 2 load default config
setDefaultControlTypes(cstate.toType);
// step 3 copy matching config based on tags
20 changes: 10 additions & 10 deletions companion/src/firmwares/modeldata.cpp
Original file line number Diff line number Diff line change
@@ -1651,6 +1651,16 @@ bool ModelData::isTrainerModeAvailable(const GeneralSettings & generalSettings,
generalSettings.bluetoothMode)
return false;

if (value == TRAINER_MODE_MASTER_SBUS_EXTERNAL_MODULE &&
!Boards::getCapability(board, Board::HasTrainerModuleSBUS))
return false;

if ((value == TRAINER_MODE_MASTER_SBUS_EXTERNAL_MODULE || value == TRAINER_MODE_MASTER_CPPM_EXTERNAL_MODULE) &&
(Boards::getCapability(board, Board::HasTrainerModuleCPPM) ||
Boards::getCapability(board, Board::HasTrainerModuleSBUS)) &&
moduleData[1].protocol != PULSES_OFF)
return false;

if (value == TRAINER_MODE_MASTER_SERIAL &&
(generalSettings.serialPort[GeneralSettings::SP_AUX1] != GeneralSettings::AUX_SERIAL_SBUS_TRAINER &&
generalSettings.serialPort[GeneralSettings::SP_AUX2] != GeneralSettings::AUX_SERIAL_SBUS_TRAINER))
@@ -1669,16 +1679,6 @@ bool ModelData::isTrainerModeAvailable(const GeneralSettings & generalSettings,
!Boards::getCapability(board, Board::HasTrainerModuleCPPM))
return false;

if (value == TRAINER_MODE_MASTER_SBUS_EXTERNAL_MODULE &&
!Boards::getCapability(board, Board::HasTrainerModuleSBUS))
return false;

if ((value == TRAINER_MODE_MASTER_SBUS_EXTERNAL_MODULE || value == TRAINER_MODE_MASTER_CPPM_EXTERNAL_MODULE) &&
(Boards::getCapability(board, Board::HasTrainerModuleCPPM) ||
Boards::getCapability(board, Board::HasTrainerModuleSBUS)) &&
moduleData[1].protocol != PULSES_OFF)
return false;

if (value == TRAINER_MODE_MULTI &&
((!Boards::getCapability(board, Board::HasInternalModuleSupport) &&
!Boards::getCapability(board, Board::HasExternalModuleSupport)) ||
13 changes: 8 additions & 5 deletions companion/src/firmwares/opentx/opentxeeprom.cpp
Original file line number Diff line number Diff line change
@@ -43,11 +43,11 @@ inline int MAX_SWITCHES(Board::Type board, int version)
if (IS_TARANIS_X9D(board))
return 9;

if (IS_JUMPER_TPROV2(board))
return 12;

if (IS_JUMPER_TPROV1(board))
return 10;
return 10;

if (IS_JUMPER_TPROV2(board) || IS_JUMPER_BUMBLEBEE(board))
return 14;

if (IS_FAMILY_T12(board))
return 8;
@@ -1774,8 +1774,11 @@ class ArmCustomFunctionField: public TransformedField {
{
fn.func = (AssignFunc)_func;

if (hasRepeatParam(fn))
if (hasRepeatParam(fn)) {
fn.repeatParam = _active;
// PR #3601 added enabled field to all sf/gfs functions with repeat parameter assumed always enabled so now set explicitly
fn.enabled = 1;
}
else
fn.enabled = (_active & 0x01);

12 changes: 12 additions & 0 deletions companion/src/firmwares/opentx/opentxinterface.cpp
Original file line number Diff line number Diff line change
@@ -70,6 +70,8 @@ const char * OpenTxEepromInterface::getName()
return "EdgeTX for Jumper T-Pro V2";
case BOARD_JUMPER_TPROS:
return "EdgeTX for Jumper T-Pro S";
case BOARD_JUMPER_BUMBLEBEE:
return "EdgeTX for Jumper Bumblebee";
case BOARD_JUMPER_T12MAX:
return "EdgeTX for Jumper T12 MAX";
case BOARD_JUMPER_T14:
@@ -1451,6 +1453,16 @@ void registerOpenTxFirmwares()
registerOpenTxFirmware(firmware);
addOpenTxRfOptions(firmware, FLEX);

/* Jumper Bumblebee board */
firmware = new OpenTxFirmware(FIRMWAREID("bumblebee"), QCoreApplication::translate("Firmware", "Jumper Bumblebee"), BOARD_JUMPER_BUMBLEBEE);
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);

/* Jumper T12 board */
firmware = new OpenTxFirmware(FIRMWAREID("t12"), QCoreApplication::translate("Firmware", "Jumper T12 / T12 Pro"), BOARD_JUMPER_T12);
addOpenTxCommonOptions(firmware);
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
8 changes: 2 additions & 6 deletions companion/src/mainwindow.cpp
Original file line number Diff line number Diff line change
@@ -349,13 +349,9 @@ void MainWindow::openDocURL()
QDesktopServices::openUrl(QUrl(link));
}

void MainWindow::openFile(const QString & fileName, bool updateLastUsedDir)
void MainWindow::openFile(const QString & fileName)
{
if (!fileName.isEmpty()) {
if (updateLastUsedDir) {
g.eepromDir(QFileInfo(fileName).dir().absolutePath());
}

QMdiSubWindow *existing = findMdiChild(fileName);
if (existing) {
mdiArea->setActiveSubWindow(existing);
@@ -413,7 +409,7 @@ void MainWindow::openRecentFile()
QAction *action = qobject_cast<QAction *>(sender());
if (action) {
QString fileName = action->data().toString();
openFile(fileName, false);
openFile(fileName);
}
}

2 changes: 1 addition & 1 deletion companion/src/mainwindow.h
Original file line number Diff line number Diff line change
@@ -115,7 +115,7 @@ class MainWindow : public QMainWindow
void downloads();
void doUpdates(bool check, bool interactive = true);

void openFile(const QString & fileName, bool updateLastUsedDir = false);
void openFile(const QString & fileName);

private:
QAction * addAct(const QString & icon, const char * slot = NULL, const QKeySequence & shortcut = 0, QObject * slotObj = NULL, const char * signal = NULL);
4 changes: 2 additions & 2 deletions companion/src/mdichild.cpp
Original file line number Diff line number Diff line change
@@ -1325,8 +1325,6 @@ bool MdiChild::saveAs(bool isNew)
}
while (QFileInfo(fileName).suffix().toLower() != "etx");

g.eepromDir(QFileInfo(fileName).dir().absolutePath());

return saveFile(fileName, true);
}

@@ -1339,6 +1337,8 @@ bool MdiChild::saveFile(const QString & filename, bool setCurrent)
return false;
}

g.eepromDir(QFileInfo(filename).dir().absolutePath());

for (int i = 0; i < (int)radioData.models.size(); i++) {
if (!radioData.models[i].isEmpty())
radioData.models[i].modelUpdated = false;
10 changes: 5 additions & 5 deletions companion/src/modeledit/customfunctions.cpp
Original file line number Diff line number Diff line change
@@ -353,10 +353,8 @@ void CustomFunctionsPanel::functionEdited()
functions[index].swtch = swtch;
functions[index].func = (AssignFunc)fswtchFunc[index]->currentData().toInt();
functions[index].enabled = true;
if (functions[index].func == FuncPlayScript || functions[index].func == FuncRGBLed)
fswtchRepeat[index]->setModel(tabModelFactory->getItemModel(repeatLuaId));
else
fswtchRepeat[index]->setModel(tabModelFactory->getItemModel(repeatId));
if (functions[index].func == FuncLogs)
functions[index].param = 10; // 1 sec
refreshCustomFunction(index);
emit modified();
lock = false;
@@ -399,7 +397,7 @@ void CustomFunctionsPanel::refreshCustomFunction(int i, bool modified)
}
else if (func == FuncLogs) {
fswtchParam[i]->setDecimals(1);
fswtchParam[i]->setMinimum(0);
fswtchParam[i]->setMinimum(0.1);
fswtchParam[i]->setMaximum(25.5);
fswtchParam[i]->setSingleStep(0.1);
if (modified)
@@ -464,6 +462,7 @@ void CustomFunctionsPanel::refreshCustomFunction(int i, bool modified)
if (modified)
cfn.repeatParam = fswtchRepeat[i]->currentData().toInt();
widgetsMask |= CUSTOM_FUNCTION_REPEAT;
fswtchRepeat[i]->setModel(tabModelFactory->getItemModel(repeatId));
fswtchRepeat[i]->setCurrentIndex(fswtchRepeat[i]->findData(cfn.repeatParam));
}
if (func == FuncPlayValue) {
@@ -560,6 +559,7 @@ void CustomFunctionsPanel::refreshCustomFunction(int i, bool modified)
cfn.repeatParam = fswtchRepeat[i]->currentData().toInt();
}
Helpers::populateFileComboBox(fswtchParamArmT[i], scriptsSet, cfn.paramarm);
fswtchRepeat[i]->setModel(tabModelFactory->getItemModel(repeatLuaId));
fswtchRepeat[i]->setCurrentIndex(fswtchRepeat[i]->findData(cfn.repeatParam));
}
else {
2 changes: 1 addition & 1 deletion companion/src/shared/namevalidator.h
Original file line number Diff line number Diff line change
@@ -25,7 +25,7 @@
#include "textvalidator.h"

// characters supportd by B&W radio firmware gui editor
constexpr char NAME_VALID_PATTERN_BW[] {"[ A-Za-z0-9\\-]*"};
constexpr char NAME_VALID_PATTERN_BW[] {"[ A-Za-z0-9\\_\\-\\,\\.]*"};
// characters supported by color radio firmware keyboard widget
constexpr char NAME_VALID_PATTERN_COLOR[] {"[ A-Za-z0-9\\-\\_\\,\\.\"\\+\\/\\*\\=\\%\\!\\?\\#\\<\\>\\@\\$\\(\\)\\{\\}\\[\\]\\;\\:\\']*"};

1 change: 1 addition & 0 deletions companion/src/simulation/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -44,6 +44,7 @@ set(${PROJECT_NAME}_SRCS
simulateduiwidgetJumperTLITE.cpp
simulateduiwidgetJumperTPRO.cpp
simulateduiwidgetJumperTPROS.cpp
simulateduiwidgetJumperBumblebee.cpp
simulateduiwidgetLR3PRO.cpp
simulateduiwidgetNV14.cpp
simulateduiwidgetPL18.cpp
Loading