Commit Graph
513 Commits
Author SHA1 Message Date
Raphael CoefficandRaphael Coeffic bb6c6d6e2d WiP PoC AFHDS3 internal module 2022-08-11 12:15:46 +02:00
62692dba6a feat: More rotary encoder options for B&W screens (see #2045)
* First build

* Fix X9

* Update api_general.cpp

* Update translations.h

* clean up translations

* fix: B&W option handling, remove magic numbers, cleanup
- Remove references to invertRotary, change to RotEncDir or similar
- Add compatabilty importing to companion, firmware
- Rename Lua API call
- Move magic numbers to enum
- Improve B&W option handling so it doesn't apply changes while in menu

* chore: yaml regen

* fix: Add missing guards for X9D/X9D+

* fix: Wrong enum name in simu

* fix(cpn): Use correct names for UI elements

* fix: Translations

* fix: Allow `rotEncMode` in all yaml due to x9d var
Of the three X9D variants, the X9D+2019 is the only one that
has a rotary encoder as standard. However, as the base config
file is for the X9D, this meant it wasn't reading or writing the
config value. Rather than add a seperate config file for it for
a single variable, simple to just allow it across all targets.

* fix: Companion string, change colorlcd to `Choice`

Co-authored-by: Peter Feerick <peter.feerick@gmail.com>
2022-08-04 20:06:17 +10:00
be7a6a51ab feat: Allow the timer count direction to be selected (#2038)
* timer direction: ellapsed or left

* Add AUDIO announcement support

* Storage for showElapsed

* Translations

* Fix storage

* BW implementation

* Different BW implementation

* Companion support

* Color LCD implementation and rebase to lvgl

* Fix problems found by raphaelcoeffic

* chore: Regenerate the YAML files properly

* fix: Remove unused `TR_SHOW` remnant

* chore: Formatting and cleanup

* fix: Timer dir choice was shown in wrong place
Wrong newline used in ce23b50

* Fix cpn ui triggers, remove unnecessary code and some formatting

* fix(colorlcd): Hide timer dir opt if zero value

Co-authored-by: Peter Feerick <peter.feerick@gmail.com>
Co-authored-by: elecpower <neilh713@tpg.com.au>
2022-08-03 09:22:42 +10:00
Peter FeerickandPeter Feerick 9e23561184 fix: Reset file permissions
Git is stupid and doesn't let you lock them
2022-07-20 13:01:31 +10:00
3djcandPeter Feerick 03426c9afc yaml generate 2022-07-20 13:01:31 +10:00
3djcandPeter Feerick 8c828172e3 Fix conversions 2022-07-20 13:01:31 +10:00
3djcandPeter Feerick 6010eff024 TX12MK2 initial (external issue with MPM) 2022-07-20 13:01:31 +10:00
Peter FeerickandGitHub 7d983f6fa8 chore(yaml): PR#2064 didn't regenerate files (#2133) 2022-07-17 18:59:21 +10:00
Raphael Coeffic 3d8c50dc40 Fix conversions progress screen 2022-07-02 07:55:26 +02:00
Raphael CoefficandRaphael Coeffic 03cdc879b9 X10: Fix throttle source conversion from binary format 2022-06-25 16:09:04 +02:00
Raphael CoefficandRaphael Coeffic 0b8d93ca88 WiP: support for LSM6DSxx 2022-06-25 16:09:04 +02:00
Raphael CoefficandRaphael Coeffic df83a82285 EEPROM & Digital Volume I2C driver using generic I2C HAL driver 2022-06-25 16:09:04 +02:00
Raphael CoefficandGitHub 0ba688c25f Fixes related to storage conversions removal (#2074) 2022-06-21 08:02:10 +02:00
Raphael CoefficandGitHub c2dc4e6c0b YAML: avoid forcing to add parser for non-existing old format v220 (#2068) 2022-06-21 06:45:35 +02:00
Raphael CoefficandRaphael Coeffic f6565c6826 Horus fixes 2022-06-11 15:38:08 +02:00
Neil HorneandGitHub cba4e07ce1 fix: Pot and slider warnings weren't being set properly on radio or syncing with Companion (#1981)
- fix Companion yaml model read and write
- B&W radios treat bit values the same as color to avoid unnecessary complication for Companion and radio conversions
- B&W radios default is therefore off for all pots and sliders
- B&W radios fix runtime warnings check
- all radios fix to save last pot or slider position when checked and mode AUTO on change of model or power off
- all radios do not display Pots Warning in model setup if no pots or sliders supported
2022-06-07 13:04:40 +10:00
6b557e49ea USB-VCP no OFF if internal RF module is set to CRSF (#1957)
* Do not list OFF on VCP menu if internal RF module is set to CRSF to allow pass-through flashing.
Set USB-VCP automatically to CLI when CRSF mode is selected for internal module and it was previously OFF. Activate CLI when iCRSF is selected.

* Companion part

Co-authored-by: elecpower <neilh713@tpg.com.au>
2022-05-30 22:14:08 +02:00
eshifriandGitHub 87021209b3 fix(colorlcd): EM crash when clearing Model Category name (#1897) (#1925)
* Merge branch 'main' into eshifri/preserve_current_rebase

* Initialize category name to zero. Without it KEY_ENTER adds garbage.
2022-05-04 18:15:24 +10:00
rotorman ae265b6f94 Bugfix missing YAML padding. 2022-04-20 19:32:23 +02:00
rotorman b1a3bc834f User controllable serial port power.
Thx to @raphaelcoeffic for numerous tips with YAML.
Tested with TX16S mkII.
2022-04-18 13:19:33 +02:00
d9b51f8ecf feat: Deadzone option for NV14 sticks (#1777)
Imported from open-flysky/Flysky-OpenTX-Test-Branch

* companion: Don't nuke `stickDeadZone` setting

* Implement data storage properly

* Add missing check for NV14 storage struct sizes

* Formatting

* Use one less byte in the packed data struct
Thanks @raphaelcoeffic :)

* Move setting of stickDeadZone default

* Use a Choice combo rather than NumberEdit

* Good riddance magic number

* Also set default stick zone if setting is missing

* Teach tests about `STICK_DEAD_ZONE`

* Tweak choice width

* Cpn NV14 add stick dead zone to hardware and section labels

* Cpn NV14 align default pot names to radio

Co-authored-by: elecpower <neilh713@tpg.com.au>
2022-04-06 10:30:20 +10:00
Raphael CoefficandGitHub d8075cbabb fix: Internal module setting and applying post load fixes on radio settings (#1787) 2022-04-02 21:28:04 +10:00
Raphael CoefficandGitHub b9077c7e5a fix: Quote Stick, Pot, Slider and Switch names (#1754)
* Quote stick names

Resolves #1749

* Fix pot, slider and switch names as well.
2022-03-31 10:39:39 +10:00
Raphael CoefficandGitHub be9aa44e00 fix: Mix data offset: convert to signed int with maximum 11 bits (#1743)
Resolves #1734
2022-03-29 09:25:13 +10:00
Raphael CoefficandRaphael Coeffic 2c6bd12c6e Fix module YAML format 2022-03-24 10:40:17 +01:00
Raphael CoefficandRaphael Coeffic 9d5cd1876c Added support for Lemon-Rx DSMP 2022-03-24 10:40:17 +01:00
Raphael CoefficandRaphael Coeffic 86d1ca4364 Reorganize module type/subType/rfProtocol 2022-03-24 10:40:17 +01:00
Peter FeerickandGitHub b54ad7169a feat: Option for inverting rotary encoder direction (#1690)
* feat: Add option for rotary encoder direction
Based heavily on opentx/opentx#8852 by @3djc

* companion ui elements

* Cleanup

* Hook up UI, reading setting from yaml

* Teach simulator about rotEncDirection

* Simu and radio default scroll direction correction
Otherwise the "default" would be the opposite to how it has always been

* Remove what will be a confict with fix in #1586

* Wasn't using rotEncDirection consistently

* Zorro RE dir is opp to TX16, TX12, TPro, X9D+2019
2022-03-22 16:14:57 +10:00
Peter Feerick e0a1dca5cc Read telemetryBaudrate into internalModuleBaudrate 2022-03-22 15:48:59 +10:00
3djcandRaphael Coeffic 4039069bb7 YAML fixes 2022-03-21 11:48:50 +01:00
3djcandRaphael Coeffic 0cc2b95b09 Cosmetics 2022-03-21 11:48:50 +01:00
3djcandRaphael Coeffic e63eeb0984 Update yaml 2022-03-21 11:45:15 +01:00
3djcandRaphael Coeffic db3547d45c POC 2022-03-21 11:43:48 +01:00
Raphael Coeffic bc75bed8c8 Default VCP mode to CLI 2022-03-20 16:30:59 +01:00
Raphael Coeffic 6b9c4fe165 Split UART_MODE_NONE and UART_MODE_DEBUG 2022-03-20 16:30:59 +01:00
Raphael Coeffic 73cfa8402e Fixed serial port YAML writing 2022-03-20 16:30:59 +01:00
Raphael Coeffic de43d7e77c Try to fix the trainer mode mess 2022-03-20 16:30:59 +01:00
Raphael Coeffic 074a141d81 UI improvements 2022-03-20 16:30:58 +01:00
Raphael Coeffic f1dc564c76 Read old auxSerialMode & aux2SerialMode 2022-03-20 16:30:58 +01:00
Raphael Coeffic b5779f2a6a More generic serial port config 2022-03-20 16:30:58 +01:00
Raphael CoefficandGitHub 610326f216 Write 'semver' tag with the current firmware version (#1695)
And remove `version`/`variant`.
2022-03-20 19:18:01 +10:00
a1e7d70722 chore: Clean up some issues introduced in #1363
* Clean up some errors introduced in PR #1363

- Cleaning up bad YAML definitions
- Reverted renaming of 'jitterfilter' radio setting in storage/conversions/yaml/ files

* Add a custom attribute to allow for backward compatibility

* Prevent custom attributes without a 'write' function to output a tag

* companion - read but don't write old name

Co-authored-by: Raphael Coeffic <raphael.coeffic@frafos.com>
Co-authored-by: Peter Feerick <peter.feerick@gmail.com>
2022-03-16 18:07:26 +10:00
Jesper FrickmannandGitHub dcc5cfb352 feat: Model templates for color radios (update SD card for bundled templates) (#1569)
* Model templates - select and load after Create Model for color radios

* Model templates - save model as template, only for color radios

* Small fix to drawTextLines(...) to handle consecutive spaces

* Change title of button for empty template folder

* I found out why "no trailing slash = important" in path names!

* Reworked file and path name string manipulation
No longer using chdir, as Lua scripts etc. could be messing with the working dir
Use buffers more and std::string less

* Adjusting the size of buffers
I think that I got it right now. Really hard to figure out the right size constants!
Also added storageDirty(EE_MODEL) after reading the template file and renaming the model

* Added storage checks

* Slight simplification - all template buttons are similar

* Added "Blank Model" button

* Wizard Lua script
If there is a Lua script with the same name as the template file in the folder, then it is run after reading the template.
2022-03-09 11:00:38 +10:00
Jesper FrickmannandGitHub d427817363 fix: Negative GVs being misread and written on transmitter (#1516) 2022-02-01 10:22:26 +10:00
bf931a5097 feat: Add facilty for custom throttle warning position (#1395)
* replace magic number for throttle idle with correct define

* settings for custom throttle warning position

* settings fixed not to break byte-aligment of bit-fields

* evaluate custom throttle warning position

* add requested throttle value to warning text

* comment about field alignment in ModelData struct

* Menu for editing custom throttle warning for 128x64 radios
Tested on RM TX12

* Improoved menu display

* move displayed strings to translation

* translation template added for each language

* support for 212x64 B&W radios

* menu for colorlcd
not tested

* corrected translation entry for TW

* corrected handling of padding bits in ModelData structure

* Companion support for custom throttle warning position

* Rebase catchup

Co-authored-by: Peter Feerick <peter.feerick@gmail.com>
2022-01-30 15:04:40 +10:00
Raphael CoefficandPeter Feerick 09c49e24ee Remove SKY9X target 2022-01-29 14:40:17 +10:00
Peter FeerickandGitHub 4b93686a40 feat: ImmersionRC Ghost 12 bit support
IRC Ghost 12 bit support
2022-01-27 09:58:09 +10:00
c3c8a2e3f1 feat: Model level ADC Jitter filter option (#1363)
* ADC Filter - On/off state configurable at the model level

* Updated YAML configuration to match change from ADC Filter feature commit

* Companion changes to support ADC jitter filter to be a model configuration item.

* Renamed jitterFilter field to noJitterFilter.

This better describes the semantic, which is inverted.

* Updated after review

* Re-run generate-yaml

* Changed ADC Jitter filter control on Model to be tri state.
Off, On or use the radio setting

* Adde NOBACKUP() to the added field

* Re-generate yaml_datastructs

* Making the default state to use radio setting/Global value

* Updated after review:
Changing to more consistent naming across firmware and companion.

* Reverted  files that was accidently added to the commit.

Co-authored-by: Peter Feerick <peter.feerick@gmail.com>
2022-01-26 20:54:23 +10:00
Peter Feerick 1eaa904217 fix: Also patch conversion for X9LiteS/XLiteS 2022-01-24 15:38:48 +10:00
Peter Feerick 95a55ae8d7 fix: Wrong datastructs used for X9LiteS and XLiteS 2022-01-24 11:09:32 +10:00