Commit Graph
1032 Commits
Author SHA1 Message Date
Raphael CoefficandGitHub 72193eda82 chore: New module/serial API (#3055)
* WiP: new module interface

* WiP: softserial timer DMA

* WiP: setup() and send() in one step

and remove methods specific to internal or external module

* fixes and extra port config

* horus targets

* module ports have moved

* T8 support (only internal module)

* fix nv14

* stupid GCC....

* disable BT

* remove nv14 telem driver

* remove old aux serial driver

* Move module buffers out of pulses.h

* Soft serial fixes and PXX1 support

* Fixed PPM module output

* Fixed CLI

* compilation fixes

* Ported bluetooth and flysky gimbal to new serial driver

* Re-enable soft-serial RX

* fixes and cleanup

* nv14 fixes

* Fix flysky gimbals

* Ghost module

* 16 bytes of RAM

* Remove getByte from module API

* Ghost cleanup

* fix: _half_duplex_input() must be called after usart init

* WiP

* more cleanup

* Remove board specific settings from PXX1 / PXX2 drivers

* A bit of PXX2 header cleanup

* Add support for OVER8 and ONEBIT

* Add some support for inverters (NV14 / EL18)

* Support NV14 power fixes in generic board

* Fix polarity handling

* Fix RX DMA

* Fix mixer not running

* Add soft-serial polarity control

* Quick fix for telemetry polling while module port is changed

* Fix bootloader DEBUG

* Fix MPM telemetry

* Fix pulse start

* DSM2 soft-serial fallback

* DSMP async module restart

* Fix CRSF LUA upstream

* Remove global variable telemetryProtocol

* Use HAL/LL constants

* Fix various issue with AFHDS3 and NV14/EL18 internal module

* Fixed S.PORT unit tests

* fix: update widx after writing at current index

* fix: init error condition

* Fix: possible infinite loop in _find_port()

* Add support for bidir S.PORT init

* Add support for "getLastByte" in HW serial driver

* PXX1: Add support for S.PORT based on IDLE callback

* Fix rebase error

* Fix softserial _rx_fifo_push()

* Add softserial support for waitForTxCompleted()

* Fix MPM flashing (internal / external)

* Fixed external MPM

* Activate RX DMA on internal module

Seems to work with serial passthrough without issues, at least on the L3R PRO.

* Fix softserial DMA on stdlcd F4 targets

* Add softserial support for 32bit timers (mostly TIM2)

* More precise soft-serial

* Fix MPM update using inverters & HW uart

* Raise S.PORT DMA/USART IRQ prio to achieve faster switching to input

* Remove useless delays

* Fix flashing external ELRS module

* Added a retry mechanism for FrSky S.PORT update

* Remove useless enableRx()

* External FrSky modules are all flashed via S.PORT

* Remove power management unit update

This was only used on the first batch of X-lite.
2023-02-09 19:44:32 +10:00
c739842c8d feat: Improve defaults, range and wording of SD Log SF (#3058)
* fixes https://github.com/EdgeTX/edgetx/issues/2965

Changes:
- the log period range is now 0.1s to 25.5s
- upon creation of a new SD Logs SF the period is initialized to 1.0s
- text "Value" is changed to "Period" to indicate parameter represents the log period

ToDo:
- translations for "Period" if desired

rebase due to #2992

* changed Period to Interval

Added translations for DA, DE, EN, IT, PL

* added defaults for TR_INTERVAL to language files

* fixed problem with too many leading zeros for intervals less than 1s.

before: 00.5s
after: 0.5s

* added CZ translations for TR_PERIOD and TR_INTERVAL

changed EN TR_FUNC from "Func" to "Function"

* updated TR_FUNC for CZ, DA, IT, JP, PL

updated TR_PERIOD and TR_INTERVAL for JP

* added TR_PERIOD,  TR_INTERVAL, TR_FUNC for SE

* implemented TR_SF_SWITCH and logic to change between TR_SWITCH and TR_SF_SWITCH

* 212x64 radios: single source for #define TR_LSW_HEADERS in language files

deleted redundant defines

* changed 128x64 and 212x64 SF SD Logs to same logic as colorlcd with

- minimum log interval 0.1s
- maximum log interval 25.5s
- default log interval 1.0s

TX12_Sim and X9D_Sim tested ok

* migrated functional changes due to PR #2992

* missed updating TW language file

* fix: Always `STR_SF_SWITCH` regardless of SF

Co-authored-by: Peter Feerick <peter.feerick@gmail.com>
2023-01-27 18:33:31 +10:00
Raphael CoefficandGitHub 57bf180a9b feat(mpm): remove FrSky special treatment madness (#3032) 2023-01-26 11:44:46 +10:00
eshifriandGitHub 8e8e78671a feat: Timer Voice & Haptic option, show elapsed speak time value when countdown (#2711)
* fix "odd" elapsed time announcement

* announce elapsed seconds

* Add support for "Beeps and Haptic" and "Voice and Haptic" for timer countdown.
2023-01-23 20:00:12 +10:00
Raphael CoefficandGitHub acd95dfad4 fix(B&W): Avoid having constants in SRAM (#2993)
fix constness to avoid having constants in data segment 
.... and thus free some precious RAM
2023-01-18 20:12:35 +10:00
3djcandGitHub 8ee73a5800 fix(lua): Remove faulty carryTrim, replace with trimSource (#2995)
* Fix carryTrim in LUA

* Remove carryTrim
2023-01-15 11:54:57 +10:00
3djcandGitHub bc8087cbf1 feat: Add Radiomaster Boxer (#2877)
* Radiomaster Boxer

* chore: Add Build system bits

* chore: `EEPROM_VARIANT` no longer used
2022-12-31 16:45:09 +10:00
Malte LangermannandGitHub d134e1a840 chore: Fix a bunch of compile warnings (#2748)
* chore: fix warnings for simu and firmware, part 1

* chore: fix warnings
2022-12-05 20:41:42 +10:00
Raphael CoefficandGitHub 1766b7d6c0 fix: hard coded special characters (#2538)
* fix(B&W): delta character in outputs

* fix: more special characters

* fix: NV14 compilation
2022-10-13 17:27:45 +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
Raphael CoefficandGitHub f7e3458bac fix(multi): set bind status explicitly when aborted manually (#2455)
* fix(multi): set bind status explicitly when aborted manually

Fixes #2263

* fix: adjust MPM bind status on B&W as well
2022-10-06 20:03:39 +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
Malte LangermannandGitHub 83c21ad054 feat: add support UTF-8 ° symbol for B&W radios (#2359)
- remove translation workaround for the `°` symbol
- switch every use of the `@` char for a `°` char to a new define
  - same for `≥` and `}`
2022-09-26 12:45:04 +10:00
XINGandPeter Feerick 299991bc11 Add iFlight Commando8
Add iFlight Commando8 ELRS radio
2022-08-16 18:44:57 +10:00
Peter Feerick b74cd10927 fix: Showing wrong letter for switch warnings
Resolves #2202
2022-08-12 15:50:11 +10:00
a3d44d7b09 chore: Remove "OFF" from protocol lists (#2186)
* chore: Remove "OFF" from protocol lists

* Fix subType setting for X9D+2019

* fix: Chan start and count for ISRM, dup type set
Channel start and count wasn't being updated for ISRM.
Also remove duplicate modulke type setting, which was the
cause of an earlier bug that was worked around on 128x64

* fix(colorlcd): Shorter ACCST opts string crash

* chore: Formatting only

Co-authored-by: Raphael Coeffic <raphael.coeffic@frafos.com>
2022-08-05 21:21:56 +10: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
Raphael CoefficandPeter Feerick 8379b47e2b Fix compilation with MULTIMODULE=NO
And allow for Spektrum telemetry to stay enabled (needed for DSMP module).
2022-07-22 20:45:04 +10:00
Raphael CoefficandRaphael Coeffic 0b8d93ca88 WiP: support for LSM6DSxx 2022-06-25 16:09:04 +02:00
elecpowerandRaphael Coeffic 1b9cce9882 Fix b&w compile with DANGEROUS_MODULE_FUNCTIONS enabled 2022-06-13 22:43:17 +02:00
Raphael CoefficandRaphael Coeffic 99ed405b84 fix: switch display 2022-06-11 15:38:08 +02:00
Raphael CoefficandRaphael Coeffic 85b154fcc8 fix: B&W compilation 2022-06-11 15:38:08 +02:00
Raphael CoefficandRaphael Coeffic cf06efea87 Taranis 128x64 2022-06-11 15:38:08 +02:00
Raphael CoefficandRaphael Coeffic 352c273d32 Taranis 212x64 2022-06-11 15:38:08 +02:00
gagarinlgandRaphael Coeffic 0eb11ae4b6 bootload compile fixes for B&W radios, compiles, but does not linkm due to libc errors 2022-06-11 15:38:08 +02:00
Raphael CoefficandRaphael Coeffic 30e3ac3399 Basic utf8 support for B&W radios 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
Peter FeerickandGitHub b0e3cb015f feat(minor): Better showing of version info in firmware and cpn, remove seperate cpn32 build script (#1913)
* fix: Prevent potential wordsplitting of variables

* chore: Remove need for separate cpn 32bit script

* Build script tag/branch/PR auto-detection

* Teach companion about VERSION_TAG

* Update some constant names

* Only one companion build script

* Actually use `VERSION_SUFFIX` in about screen 🤦

* Add space

* Remove line that was only for testing 32bit build

* Remove hyphen between win and bits

* Show codename in Settings -> Version

* cpn: Only show codename on tagged versions

* Update about screen also

* Double quotes around codename on colorlcd

* Update copyright year

* About screen should use VERSION_TAG when set
2022-05-08 16:24:31 +10:00
Peter FeerickandGitHub 5957745518 fix: XJT Lite module type being replaced with XJT (#1904)
Fixes #1899
2022-04-27 10:58:34 +10:00
BatambatamandGitHub 9d27a6923c fix: Display FS switch names and symbol (#1804) 2022-04-05 21:17:28 +10:00
ed7be53565 feat: Function Switch led startup sequence (#1746)
* TPro - Fancy led startup seq

* Cleanup

* fix define for function switches

* added shutdown sequence @pfeerick

* Formatting

Co-authored-by: Batam <batam@macbook-pro.home>
Co-authored-by: Peter Feerick <peter.feerick@gmail.com>
2022-03-31 11:50:46 +10:00
TheIsotopesandGitHub 78dc2930d0 fix: German language about screen cosmetics / translation (#1737)
* about screen german translation fix

* about screen 128x64 cosmetic
2022-03-27 18:32:19 +10:00
Raphael CoefficandRaphael Coeffic 9e40aaa215 Stdlcd UI for Lemon-Rx DSMP 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
3djcandRaphael Coeffic f426dd1254 Fixes 2022-03-21 11:48:50 +01:00
3djcandRaphael Coeffic f090c599df Add a reminder of internal CRSF speed in model setup 2022-03-21 11:48:50 +01:00
3djcandRaphael Coeffic ab09d0a25f Introduce serial status 2022-03-21 11:48:50 +01:00
3djcandRaphael Coeffic c0e6f2a7f9 Compilation fixes 2022-03-21 11:48:49 +01:00
3djcandRaphael Coeffic 6f158663a9 Fixes 2022-03-21 11:45:15 +01:00
3djcandRaphael Coeffic 001144cd5c Ghost module handling 2022-03-21 11:45:15 +01:00
3djcandRaphael Coeffic 97d3c68efc Cosmetics 2022-03-21 11:45:15 +01:00
3djcandRaphael Coeffic db3547d45c POC 2022-03-21 11:43:48 +01:00
Bryan MaylandandGitHub 76ae89d2f2 feat: Short press for SYS/MODEL setup on BW screens, long for ModelSelect on colorlcd (#1610)
* Allow short press to SYS/MODEL on BW screens, long for ModelSelect on colorlcd

* T8 navigation style gets short SYS/MODEL presses too
2022-03-19 14:43:57 +10:00
Peter FeerickandRaphael Coeffic 148262643b fix: Ext mod XJT opts on 128x64 B&W altering int mod settings 2022-03-17 11:33:52 +01:00
TheIsotopesandGitHub a1fe0b709b fix: B&W 128x64 "check trims" cosmetic in flight modes (#1651) 2022-03-03 10:47:32 +10:00
Bryan MaylandandGitHub dd672dc0ea fix: Send correct internal CRSF modelid on change for BW screens (#1508) 2022-02-01 11:36:34 +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