Commit Graph
321 Commits
Author SHA1 Message Date
Neil HorneandGitHub b6dd3a0ef8 fix(sim) do not allow launching if no radio profiles found (#3712)
* Test for existence of radio profiles and advise if not found

* Fix message box title and move simulator name to constants
2023-06-23 18:43:03 +10:00
32e544c8dd chore: Support T-Lite F4 variant (#3254)
* TLite F4

* chore: Add to fw list for Buddy

* chore(cpn): TLite F4 Companion support

* fix: Remove seemingly incorect cmake set
Or at least, the code now builds without that directive

* fix(cpn): Stupid typo

* chore: Actually build/register tlitef4 simulator

* fix: Need tlitef4 flavor for simulator and updates

* chore: tlitef4 can use tlite simulator

* fix: downloadid AND simulatorid

* fix: Correct simulatorid

---------

Co-authored-by: Peter Feerick <peter.feerick@gmail.com>
Co-authored-by: Peter Feerick <pfeerick@users.noreply.github.com>
2023-05-10 19:43:07 +10:00
Neil HorneandGitHub f800447cd5 feat(cpn): Radio types can reference any libsim and/or firmware download id (#3432)
* Radio profiles reference any libsim and/or firmware download id

* Revert files filter for now
2023-05-07 18:01:14 +10:00
e1fe7fce89 feat(radio,cpn): Updates for new joystick system (#3400)
* Reduce RAM usage for advanced joystick system on radio:
- Don't allocate memory blocks unless joystick mode is being used.
Support multiple radio joystick configurations in Companion:
- Save configured joystick settings by joystick name in Companion settings.
- Save last joystick name used in each profile.
- Reload joystick settings by name when profile is changed.

* Only show configuration for used axes and buttons in Companion.
Send actual number of configured joystick buttons from radio in USB packet.

* Fix issue where USB joystick not recognised if no buttons configured.

* Fix compiler warnings.

* Remove debugging.

* Fix crash in Companion.

* Change channel 8 to type 'dial', workaround for Linux mapping issue.

---------

Co-authored-by: Phil Mitchell <phil.a.mitchell@gmail.com>
2023-04-21 14:27:41 +10:00
philmozandGitHub 6985d3f24b feat(color,cpn): Updates to the model telemetry page, sensor ID consistency (#3401)
* Add 'Show Instance ID' button to telemetry page to show/hide sensor instance number (default is hidden).
Fix issues with page refresh when all sensors deleted.
Select closest sensor when a single sensor is deleted.
On change, only refresh the sensor list instead of the whole page.
The 'showInstanceIds' property is saved to the model file.
Update Companion to save/load 'showInstanceIds' in model YAML file. Add checkbox to telemetry edit page.

* Update all radio specific files.

* Keep focus on 'Discover/Stop' button when searching for new sensors.
Start sensor ID index at 1 to match B&W radios.
Keep focus on changed parameter when editing sensor, don't rebuild entire parameter list on change.

* Display actual 'instance' ID instead of 'instance' + 1.

* Fix incorrect ID when reloading simulator data.

* Fix incorrect ID when reloading simulator data on B&W radios.
2023-04-17 18:44:44 +10:00
philmozandGitHub 623704f8b7 fix(cpn): Throttle initialisation after #3111 (#3394) 2023-03-23 11:40:35 +10:00
661657feca feat: New advanced joystick mode on radio, improvements to Companion and Simulator joystick support (#3111)
* Allow switches on the connected radio to control switches in the simulator via the joystick interface.

* Merge configurable radio joystick interface from banyaszg.

* Add two more 'axis' channels to companion.

* Fix 6POS from USB joystick to simulator.

* Reduce data size.

* Fix build error on B&W radios.

* Add 'Companion' button mode to work with the button logic in the Companion app.

* Build Companion joystick setup layout at runtime.
Change #define names for simulator joystick.
Allow 15 axes and 32 buttons.
Initial support for trim sliders.

* Remove custom joystick button type for companion - use 3 buttons per switch in companion to control simulator switch state.

* Fix joystick constructor calls parameters. Connect some radio joystick trims to simulator widgets.

* Restore 'companion' button type to reduce number of buttons needed. Make trims work via buttons in USB joystick.

* Connect joystick trim buttons to simulator widgets.

* Use companion source names for trims.

* Add encode / decode of usb joystick custom settings to Companion.

* Convert to lvgl layouts.
Update language files.

* Fix generated YAML storage files.

* Fix initialisation error when editing button channel. Cleanup code.

* Fix rebase.

* Fix refresh of joystick channel list view after editing an entry.
Companion joystick config window uses two columns.

* Fix vertical joystick inversion bug.
Change stick axis labels.

---------

Co-authored-by: Phil Mitchell <phil.a.mitchell@gmail.com>
2023-03-22 10:31:29 +10:00
philmozandGitHub 9a898533d1 fix(cpn): QoL tweaks to joystick preferences (#3105)
* Add preference option to Companion to disable the 'Cannot open joystick, joystick disabled' popup warning when starting the simulator.

* Don't erase joystick settings if user opens preferences dialog while joystick is not connected.
Remove reference to "Ubuntu" font family for 'Radio Type' label in preferences dialog (generates warning on MacOS).
2023-03-17 12:09:38 +10:00
Malte LangermannandGitHub 8d91c0ae95 chore: Convert simu/simulator/companion to SDL2 (#3085)
* chore(pc): convert simu/simulator/companion to use SDL2

* switch companion builds to SDL2 - OSX is not converted
the linux change is done a bit hacky, it should be done by updating the EdgeTX docker container

* update build system setup scripts

* add compatibility for old and new SDL2 cmake integration

* fix windows installer

* fix simulator audio on windows by using DirectSound vie SDL2

* fix windows audio with SDL2
enable simu for windows builds

* remove workflow changes for linux builds, this needs to be fixed in the build environment

* fix OSX build, thx @pafleraf

* fix windows audio for companion and simulator with SDL2

* select SDL2 branch of the build-docker environment

* Revert "select SDL2 branch of the build-docker environment"

This reverts commit da801609d78e1aed513ad7d9d8ab3ebded2900b9.

* fix tests with SDL2
2023-02-22 20:32:51 +10:00
60cdb897ee feat(cpn): Radiomaster Boxer support (#2910)
* feat(cpn): Initial Radiomaster Boxer support

* fix(build): Halt if invalid simulator plugin specified

* fix: 6POS not correctly defined

* chore: Less EEPROM stuff needed

* Start of simulator support

* Enable left buttons and fix area mapping of page up and down

* fix(cpn): Internal reference to pots

---------

Co-authored-by: elecpower <neilh713@tpg.com.au>
2023-02-11 20:10:12 +10:00
philmozandGitHub f7cdfdc2a9 fix(cpn): Joystick slider mappings (#3093) 2023-01-25 10:09:56 +10:00
philmozandGitHub a1c55a5b02 chore: Cleanup some compiler warnings (#2864) 2022-12-16 10:24:28 +10:00
c505f9eb01 fix(sim): Fix for 2POS switch logic affected by 6POS switch change (#2860)
* Fix 2POS switch logic in simulator. Recent change for 6POS switch broke the 2POS switches.

* Rework switch and pot controls in the simulator ensure consistent values, avoid extraneous events in Qt and, hopefully, simplify the code.

Co-authored-by: Phil Mitchell <phil.a.mitchell@gmail.com>
2022-12-14 18:57:01 +10:00
philmozandGitHub 1b0dab9d84 feat(sim): Forced style for POT/6POS knobs on MacOS for legibility (#2840) 2022-12-11 11:43:37 +10:00
f67b3257c1 fix(sim): Consistent steps for 6POS (#2831)
* Fix for issue #2827.
Ensure consistent values for the TX16, 6 position switch, in the simulator.

* Adjust 'value' to achieve alignment of raw values to step positions.

Co-authored-by: Phil Mitchell <phil.a.mitchell@gmail.com>
2022-12-11 10:43:09 +10:00
Peter FeerickandGitHub af45201f64 feat(cpn): iFlight Commando8 support (#2244)
* feat(cpn): Initial iFlight Commando8 support

* fix: Commando8 doesn't have trainer port

* feat: Add Simulator for iFlight Commando8
Also some minor code re-order for BetaFPV LR3PRO

* chore: EEPROM_VARIANT not used

* chore: Remove EEPROM bits that don't seem needed

* fix: Build simulator plugin

* fix: Simulator PGUP/PGDN the right way around

* fix: Keep trainer mode in cpn for MPM, etc
2022-10-10 12:59:28 +10:00
73861554ec feat: Support for 8s Cell Sensor such as FrSky FLVS ADV (#2302)
* first commit for FrSky 8s Lipo Sensor

FLVS Advanced transfers up to 8 cell voltages for Cels sensor

* correcting mistake made transferring local change to PR

* complementary extension of Companion telemetry simulator to enable simulation of  8 cells

* change to allow selection of cells 7 and 8 in calculated sensor with formula Cell

* (cpn) Add bin and yml conversions and basic semantic version helper

Co-authored-by: elecpower <neilh713@tpg.com.au>
2022-09-27 20:06:26 +10:00
Raphael CoefficandGitHub 9fbf0b7b0a fix(simu): prevent mouse wheel event to be handled twice (#2319)
Fixes #2188
2022-09-15 21:15:09 +10:00
Peter FeerickandPeter Feerick 9cbb3cb2a8 feat(cpn): Initial TX12MK2 support 2022-08-27 19:03:05 +10:00
zhaobingandPeter Feerick 908d5d7380 Adjust the background image of the emulator page 2022-08-20 10:59:50 +10:00
zhaobingandPeter Feerick 9d7abf78eb Add LiteRadio3_Pro target on companion and simulator 2022-08-20 10:59:50 +10:00
dwheeldandGitHub eab35a2499 feat(companion): Add GPS simulator, change telemetry data file ext (#2125)
* 1. Add GPS Simulator.
2. Saved telemetry now have .tlm extension
3. Refined telemetry sensor defaults.

* Edited for style.
2022-07-15 19:15:47 +10:00
dwheeldandGitHub 940d69f456 Save and reload telemetry values in companion telemetry simulator (#1954)
* Users will be able to save and reload telemetry values in companion telemetry simulator. Also, default values set for all sensor values.

* Added file.flush()

* Edited file i/o as per elecpower suggestion
Signed-off-by: dale wheeler <dale@wheeler.net>
2022-06-15 06:17:31 +02:00
Raphael Coeffic 7e50b2f948 fix(nv14): fix QT simulator display 2022-06-12 18:30:42 +02:00
Raphael CoefficandGitHub a00975d3e5 fix(simulator): fixed LCD flush sync with QT simulator (#2030) 2022-06-12 11:28:05 +02:00
Raphael Coeffic ccdadd8334 fix(simulator): isolate constants to ease inclusion from companion 2022-06-11 22:22:08 +02:00
RistoandGitHub 08e1ed79b7 fix: Companion decibel Db -> dB in telem simulator(#1866) 2022-04-21 09:30:47 +10:00
Neil HorneandGitHub e0e196a6e6 feat: Companion - New model curve tab layout, curve edit dialog and mix edit curve view (#1484)
Add curve image and double click to edit to input edit, mix edit and outputs
2022-03-08 13:10:13 +10:00
Peter Feerick c6a9101314 fix: Companion simulator breakage from #1480 2022-01-23 14:18:03 +10:00
Raphael Coeffic a0bc0fd2e1 Use temporary SD card path for all radios using SD card storage 2021-12-31 10:53:11 +01:00
elecpowerandRaphael Coeffic 23c84633da Companion support for EXT3 EXT4 and FlySky gimbals 2021-12-31 10:53:10 +01:00
rotormanandRaphael Coeffic 89517d8bd8 Use ETX instead of OTX (also as a file extension). 2021-12-31 10:53:08 +01:00
3djcandRaphael Coeffic d31482c18b Introduce T-pro and function switches handling 2021-12-17 17:07:48 +01:00
3djcandRaphael Coeffic 6735a42b08 Radiomaster Zorro
Port of opentx/opentx#8791
2021-12-17 15:17:48 +01:00
Jesper FrickmannandGitHub ecf386e71f Fix certain Lua script errors hanging the GUI (#899)
* Fixed a bug where a standalone Lua script w/o a run function will hang the GUI on non-color radios

* Prevent Lua standalone window from opening if Lua failed on load

* Fixed scroll down key in TX12 simulator
Copied key definitions from TX16S

* Fixed the Lua error trying to call nil value when no scripts are loaded.

* I messed up in the previous commit; now it does not freeze and it does not call nil.
2021-10-15 12:03:23 +11:00
Peter FeerickandPeter Feerick 63a5160c8b Trim alternate paths 2021-10-06 16:45:32 +11:00
Raphael CoefficandPeter Feerick eebd10dd9a Companion Linux: build AppImage 2021-10-06 16:45:32 +11:00
Peter FeerickandGitHub f5b5da86ce Disable unavailable Companion Preferences and tweak more legacy wording (#737)
* Fix references to opentx
* Disable update related options in preferences
2021-09-16 19:36:04 +10:00
Raphael Coeffic 21b29899fd Moved LcdWidget implementation into own .cpp file 2021-09-13 12:39:33 +02:00
Raphael Coeffic 1b57e415be Add touch support to simulation 2021-09-13 12:39:33 +02:00
Peter FeerickandGitHub 24f88092b3 Merge pull request #688 from elecpower/elecpower/sim-fix-toggle-lock
Fix toggle lock release on simulator
2021-09-08 11:45:19 +10:00
Neil HorneandGitHub a9812688b0 Companion 2.5 (#555)
* Introduce yaml in Companion

* EdgeTX Companion
Replace some OpenTX refs
Data conversion to v220
Update Timers ui to cater for mode field split

* Fix some simulators crashing when started from Companion

* Disable firmware and app update checking and downloads from companion

* Some more rebranding

* Disable manual download actions and another rebrand

* Fix cmake warning

* Fix mode ON conversion gtests and enable switch in model edit

* Stop update message when updates turned off

* OpenTX #8580 Fixes missing negative sign for telemetry sources

* OpenTX #8604 fix curves tooltip colors

* OpenTX #8616 Fix release notes url references

* OpenTX #8548 Align file sync folder references

* OpenTX #8548 Link field once

* OpenTX #8550 Confirmation prompt before write models and settings to radio

* OpenTX #8550 Translate strings

* Title and splash images

* Change DEB package maintainer

* Start NV14

* NV14 continued

* NV14 sim

* Timer countdownStart data conversion and ui fixes

* Fix screen width

* Merge OpenTX PR 8675

* NV14 sim add computer keys and mouse to activate some functions

* Only allow supported protocols for each module on conversion

* Clear mismatched modules on conversion

* Replace colorlcd theme and layout blobs with detailed data structs in companion

* NV14 has 2 topbar zones

* Fix layout init

* Fix layout init again

* Reset to eepromimportexport.h to main branch

* Import/export does not like enum fields

* Model edit add custom screens tab for color and bw telemetry

* Free memory
2021-09-08 10:56:39 +10:00
elecpower f40ae7f65c Fix toggle lock release on simulator 2021-09-06 19:55:44 +10:00
3djc 70d24506da Merge branch '2.3' into 2.4
# Conflicts:
#	radio/src/fonts/480x272/font_dblsize.png
#	radio/src/fonts/480x272/font_xxlsize.png
#	radio/src/gui/128x64/model_setup.cpp
#	radio/src/gui/128x64/radio_setup.cpp
#	radio/src/gui/480x272/model_receiver_options.cpp
#	radio/src/gui/480x272/model_setup.cpp
#	radio/src/gui/480x272/radio_calibration.cpp
#	radio/src/gui/480x272/radio_hardware.cpp
#	radio/src/gui/common/stdlcd/draw_functions.cpp
#	radio/src/gui/gui_common.cpp
#	radio/src/keys.h
#	radio/src/lua/interface.cpp
#	radio/src/pulses/afhds3.h
#	radio/src/rtos.h
#	radio/src/switches.cpp
#	radio/src/targets/common/arm/stm32/aux_serial_driver.cpp
#	radio/src/targets/horus/CMakeLists.txt
#	radio/src/targets/horus/lcd_driver.cpp
#	radio/src/targets/horus/startup_stm32f42_43xxx.s
#	radio/src/targets/taranis/CMakeLists.txt
#	radio/src/telemetry/crossfire.h
#	radio/src/telemetry/multi.cpp
#	radio/src/translations.cpp
#	radio/src/translations/it.h.txt
#	radio/src/translations/untranslated.h
#	radio/util/font2png.py
#	tools/commit-tests.sh
2021-04-08 11:42:28 +02:00
3djc 9559f34630 Cosmetics 2021-01-21 13:02:06 +01:00
Kilrah c34ed67343 Merge branch '2.3' into 3djc/T-Lite
# Conflicts:
#	companion/src/firmwares/boards.h
#	companion/src/firmwares/opentx/opentxeeprom.h
#	radio/src/gui/common/stdlcd/radio_hardware.cpp
#	radio/src/targets/common/arm/stm32/adc_driver.cpp
#	radio/src/targets/common/arm/stm32/bootloader/CMakeLists.txt
#	radio/src/targets/taranis/board.h
#	radio/src/targets/taranis/hal.h
#	radio/src/targets/taranis/keys_driver.cpp
#	radio/src/targets/taranis/lcd_driver_spi.cpp
2021-01-15 20:17:02 +01:00
3djcandGitHub 1f01fa6d47 Radiomaster T8 (#8219) 2021-01-15 17:19:25 +01:00
3djc 84c86f718b Jumper TLite support 2021-01-14 13:30:54 +01:00
3djcandGitHub 24f93a7cbe 3djc/2.4 add 2.3 pr (#8099) 2020-11-19 16:32:50 +01:00
3djcandGitHub e1e67a9d8c Add support for radiomaster TX12 (#8080)
* Add tx12 support
2020-11-14 11:48:46 +01:00