Commit Graph
538 Commits
Author SHA1 Message Date
Raphael CoefficandGitHub 6ea408230c fix(telemetry): set warning/critical to default values before reading YAML (#2643)
Otherwise, these values will be 0 if either the old or the new tags are not present, which is the case when coming from 2.7.
2022-10-31 10:38:15 +10:00
Raphael CoefficandGitHub 6f494e109c feat(telemetry): extend link quality warnings range (#2251)
* feat(telemetry): extend link quality warnings range

* Set default values to the old legacy FrSky values

* Companion support
2022-10-12 14:28:32 +10:00
CliffandGitHub 44add84b17 fix(color): only open model###.yml files (#2514)
* Only open model#x.yml files

* Remove Trace
2022-10-12 12:59:10 +10:00
e90cd0f440 feat(X10/X12S) Int/Ext Antenna UI (#1765)
* feature(colorlcd): antenna selection

* fix: let's assume all internal XJT modules used in horus targets are either X10 or X12S type

* fix NV14 compilation

Co-authored-by: Raphael Coeffic <raphael.coeffic@frafos.com>
2022-10-11 21:48:46 +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
Raphael CoefficandGitHub d6741450f3 fix(color): set current model after label update (#2476)
* fix(color): set current model after label update

Fixes #2460

Here Companion only outputs a more or less empty labels file, so that models are scanned on startup, however not setting the current model properly in this particular case.

* fix(color): bitmap name in modelslist should be zero terminated
2022-10-06 16:10:48 +10:00
CliffandGitHub 8c2b3c0bff fix: Correct errors in labels.yml if modelname is full length (#2448) 2022-10-03 13:04:47 +10:00
CliffandGitHub 9f7df8402a feat: Change extension on models.yml to prevent second parsing (#2430) 2022-10-01 14:43:19 +10:00
CliffandGitHub 5b6fac36c6 fix(color): Move mdls not in models.yml to /Models/Unused (#2397)
* Move models.yml that don't exist into /Models/Unused

* Add sdMove, Translations, move both models.yml

* Comments, break loop, rmv extra bool.

* Show Press_Any_Key on dialog

* Translations

* Always create /Models/UNUSED if models.yml exists.

* Close directories
2022-10-01 11:29:16 +10:00
CliffandGitHub ac091b779d fix(color): Deleting empty label caused EM/Hang (#2392)
* If deleting a label, don't check size

* If rename to blank, do nothing
2022-09-28 18:19:59 +10:00
RistoGitHubNiel Horne (elecpower), Raphael Coeffic (raphaelcoeffic) and Peter Feerick (pfeerick).
9dc4065525 feat: Add support for SpaceMouse mod (6D input knob) (#1853)
Use `-DSPACEMOUSE=YES` CMake option to activate on Horus color targets.
Co-authored-by: Niel Horne (elecpower), Raphael Coeffic (raphaelcoeffic) and Peter Feerick (pfeerick).
2022-09-18 09:23:48 +02:00
CliffandGitHub 333c2828ea fix(color): Limit label lengths, improve lbl display, prevent inv. char (#2287)
* (cpn) Add bullets & length warning

* (fw) Show labels with bullet separators

* (fw) Check all running twice. Remove from here

* (fw) Correct buffer overflow when labels too long

* (fw) Rem bullets in model label string

* (fw, cpn) Labels length

cpn,fw Limit label length
cpn Check correct model on rename length
cpn Focus issues
cpn Add rename,  move up/down.. still has an issue with selection. TODO...
cpn Switch to utf8 encoding
cpn Rename button ;)

* (cpn) Move up down working

re-Fix Checkbox, partially isn't what I thought (not greyed)

* (fw) Add CSV string funcs

Limit length of model edit shorter in portrait mode

* (cpn) Correct Label option showing on B&W

* (fw) Radio filename set but no file exists don't create

* (cpn) Simplify wording

* (fw) Correct debug values

* (fw) Reduce truncation length

* (both) Don't allow special chars in label name

(cpn) Prevent move when at top and bottom
(fw) Remove multiple label length defines
(fw) Shorten truncate length even more

* (fw) Close model_select on new model
2022-09-18 10:47:21 +10:00
Peter Feerick 7a06eb1d96 chore: LiteRadio3 yaml regenerate
Fixes issue where settings were being corrupted due to misalignment
2022-09-09 22:28:59 +10:00
4e49ac68be feat(colorlcd): Special Function to set main screen (#2160)
* Special Function to set main screen (#2135)

* chore: Add new SF to LUA constants list

* Companion support

* Formatting

* get rid of magic number

* Add function to get the number of custom screens

* Change screen numbering from 0-based to 1-based.

* Allow SetScreen custom function for Color LCD only

* add range protection

* cleanup

* yet, range protection once again

* fix: paintSpecialFunctionLine can't alter SF param data

* Fix screen initialization in companion

* move screen switching to the UI

* Trigger view change from guiMain()

* chore: Change "SET" to "Set" for consistency

* fix: Somehow missed extra comma in `TW`

Co-authored-by: Peter Feerick <peter.feerick@gmail.com>
Co-authored-by: elecpower <neilh713@tpg.com.au>
Co-authored-by: Raphael Coeffic <raphael.coeffic@frafos.com>
2022-09-07 21:40:34 +10:00
eshifriandGitHub 5f4def2f91 fix: Changing label order for only two labels could trigger EM (#2273)
* Fix definition for signed value

* Support changing order of the labels for two labels

* Swap labels when there is only two due to std::rotate limitation

* Change the order with swap.

* Map rebuid added
2022-09-07 18:29:59 +10:00
dlktdrandPeter Feerick aec0639e66 (fw+cpn) libsim not loading models, set mod on new lbl 2022-09-06 21:04:10 +10:00
dlktdrandPeter Feerick 4067c6df07 (fw,cpn) Support commas in labels
Remove more cpn unused code
2022-09-06 21:04:10 +10:00
dlktdrandPeter Feerick 9a481d6837 (fw) Better handling for blank Labels in labels.yml 2022-09-06 21:04:10 +10:00
David PHAM-VANandPeter Feerick c103abb58b Fix 32 bits negative values YAML saving 2022-09-06 19:53:12 +10:00
c8693569b0 feat(color): New label based Model Selector (#1374)
* Model Labels Selector

* Portrait Layout

* Receiver ID Check

* Fix Labels .yml format

* Companion Initial Commit

commit 967ddf3979b4954402fe62c858faba4b7a416bba
Author: dlktdr <cblackburn320@gmail.com>
Date:   Mon Aug 29 01:49:15 2022 -0700

    Fix Labels .yml format

commit 534221cad9e01146c47a9ac1080a655e04f1f6c8
Author: dlktdr <cblackburn320@gmail.com>
Date:   Mon Aug 29 01:20:57 2022 -0700

    Receiver ID Check

commit f32c0939d44e9ae60bc0705a9176354c23fec198
Author: dlktdr <cblackburn320@gmail.com>
Date:   Sun Aug 28 23:13:25 2022 -0700

    Portrait Layout

commit 961181217c7841ff3f21299ac6aa419b810f80e9
Author: dlktdr <cblackburn320@gmail.com>
Date:   Sat Dec 11 16:56:13 2021 -0800

    Model Labels Selector

commit dc99dd40d2
Author: David PHAM-VAN <1387855+DavBfr@users.noreply.github.com>
Date:   Fri Aug 26 03:04:34 2022 -0300

    feat: Allow Lua widget to override built-in widget with same name (#2208)

    * Allow CPP Widgets Override with LUA

    * Reset a widget option it the type differs

commit 4b747caff9
Author: eshifri <46511024+eshifri@users.noreply.github.com>
Date:   Thu Aug 25 19:47:53 2022 -0700

    fix: Write model name into models.yml when duplicating model (#2224)

    * Update model name in the models.yml file (#2214)

    * Fix the length of the name.

commit e97f23a305
Author: eshifri <46511024+eshifri@users.noreply.github.com>
Date:   Wed Aug 24 21:19:52 2022 -0700

    fix(cpn): Fix full path to model notes for Simulator (#2223)

* Correct Highlighted Column

* labels .yml indentation

* Update da.h

New defines translated to Danish

* Update dataconstants.h

Omit warnings due to difference of LEN_MODEL_FILENAME and LEN_MODEL_NAME in modellist.cpp

* Update modelslist.cpp

Wonder if this are the right file in PR #1374 (?), seems a lot are changed to the better in #1374

* Update dataconstants.h

Restore #define for LEN_MODEL_FILENAME to 16

* Rebase, Correct Issues

Delete now deletes instead of select
New model stores correct information
Duplicate save all information in cell
Rework items to use cell over button
Reword function variables

* CMPN: Add context menu

Fix output not functional. Removed Yaml::null at some point :)
Fix some compiler warnings

* CMPN: Compiler warning, replace ,->_ in list

* FW: Various Changes

Change view to a grid
Don't allow comma in label name
Add scroll indicators
Save sort order

Co-authored-by: HThuren <99370924+HThuren@users.noreply.github.com>
2022-09-03 09:01:19 +10:00
e576925bee feat: Reduce risk of corrupt radio.yml (#1481)
* reduce risk of corrupt radio.yml #1412

Adds CRC16 checksum to radio.yml when saved.
Adds save to temporary file, folowed by rename to radio.yml
Adds check on load, with fall-back to temporary file

* Made sure that only the first read block of radio.yml is checked for the 'checksum' value.
Added checksum generation on radio.yml produced by conversion.

* Added namespace.
Github actions triggered build failed on this - compiler difference.

* Fixed typo in code not run locally.

* Made checksum result code a enum class.
Fixed null-poionter dereference bug.

* Added check and handling for radio.yml file not read (will be handled as if checksum failed)
Added evaluation of checksum when radio_new.yml is read.
Added f_unlink() calls before f_rename() to ensure the target filename does not exist.

* Added radio.yml cheksum handling to Simulator/Companion.
Cleaned radio firmware handling of checksum field up to be newline agnostic.

* Added handling of files without checksum.
- Letting files pass the check if no checksum field is present (old files) and the size is realistic (25 bytes)

* Fixed bug causing new conversion from binary if no radio.yml BUT a radio_new.yaml
is present in the filesystem.

Now the conversion is only performed if neither file exsits.

* repair rebase problems

* rerun yaml generator

* fix another rebase problem

* update text in companion to be more meaningful when the radio.yml file has a checksum error
fix wrong error message in trace

* add trigger to check radio config when leavin menu_radio

* fix: add handling for temporary and error yaml radio settings files to simu/simulator/libsimulator

* fix corner cases when comverting non crc-ed files

* chore: Tweak radio data warnings for screen sizes
- Changed the define to be a little shorter
- Added missing define for TW
- Three string lengths to suit 128, 212 and basically colorlcd

Co-authored-by: gagarinlg <malte@langermann.net>
Co-authored-by: Peter Feerick <peter.feerick@gmail.com>
2022-08-31 12:56:17 +10:00
eshifriandGitHub 4b747caff9 fix: Write model name into models.yml when duplicating model (#2224)
* Update model name in the models.yml file (#2214)

* Fix the length of the name.
2022-08-26 12:47:53 +10:00
Peter FeerickandPeter Feerick e40e7ccc68 chore: Regenerate yaml 2022-08-20 10:59:50 +10:00
zhaobingandPeter Feerick 0219426b26 Add LR3PRO as an independent target 2022-08-20 10:59:50 +10:00
Peter FeerickandPeter Feerick 7800a6de42 fix: B&W needs to know about spaces as well!
Finishes #645 as model notes with `_` and `0x20`
(space) are tested for  model notes filename also.
2022-08-14 11:50:40 +10:00
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