Commit Graph
231 Commits
Author SHA1 Message Date
Peter FeerickandGitHub 5eb9af3a4e feat: Audio prompt for initial telemetry connect (#4216) 2023-10-31 10:50:32 +10:00
c93695eeaa perf: Process CRSF telemetry by frame (#4038)
Co-authored-by: 3djc <lesitewebdejc@hotmail.com>
Co-authored-by: Peter Feerick <peter.feerick@gmail.com>
2023-10-19 13:31:30 +10:00
Raphael CoefficandGitHub ff2b3ac22a fix: Internal PXX exclusive S.PORT (#3822) 2023-10-13 09:48:32 +10:00
Peter Feerick e8077021f6 chore: Formatting #3780
Forgot to push before merge
2023-10-01 15:21:44 +10:00
Raphael CoefficandGitHub 00cb9c48df refactor: Notify module driver on config changes (#3780) 2023-10-01 15:19:17 +10:00
c4f1e7127d chores(flysky): Separate AFHDS2A and AFHDS3 into 2 different module type (#3783)
* chores(flysky): separate AFHDS2A and AFHDS3 into 2 different module type

This should allow to remove some of the hacks added earlier.

* chore: Add some EL18 CI bits

* fix(afhds): cmake defs

* fix(ci): add el18 to commit-tests.sh

* chore(cpn): separate AFHDS2A and AFHDS3

* chore(cpn): remove binary import of afhds and legacy fxFreq field for afhds3

* fix(cpn): limit available internal afhds protocols to those supported by hardware

* chore(cpn): update Flysky int module test

* fix(cpn): compile error

* fix(cpn): afhds2a max channels

* fix: TR_MODULE_PROTOCOLS

* enh(cpn): more support for afhds2a and 3

* fix(cpn): rebase compile error

* fix(cpn): bit indexes

* fix(cpn): emi toString

* fix(cpn): limit available internal afhds protocols to those supported by hardware

* enh(cpn): add support for Flysky EL18

* fix(cpn): available protocols

* fix(cpn): rebase moduledata

* chore(cpn): add module fields to model print

* Separate AFHDS2A and AFHDS3 UI settings.

* Fix AFHDS3 conversion from old subtype value.
Fix 'Channel Range' layout on portrait LCD.

* Fix name.

---------

Co-authored-by: Peter Feerick <peter.feerick@gmail.com>
Co-authored-by: elecpower <neilh713@tpg.com.au>
Co-authored-by: Phil Mitchell <phil.a.mitchell@gmail.com>
2023-09-07 19:24:03 +10:00
3djcandGitHub 8f0ad3fca8 fix: Allow compile without multimodule support (#3750) 2023-07-03 19:07:02 +10:00
MichaelandGitHub ce5d62af78 fix: Rqly % rx stat type for PPM MLINK telemetry protocol (#3605) 2023-05-17 17:05:27 +10:00
MichaelandGitHub fd7d359695 fix: RX stat labelling dependent on telemetry protocol (#3523)
* RX stat (formerly known as "RSSI") labeling dependent on protocol (RSSI/dbm, Rqly/%, Sgnl/-)  used for range check, multi rf tuning and low/critical warning settings pages

* chore: Bump libopenui

* removed define that was supposed to be for testing only

function getRxStatLabels(): wasting flash as inline, no need to be inlined

* removed inline on getRxStatLabels() - step 2
2023-05-17 11:17:35 +10:00
philmozandGitHub e0fad3d122 fix(color): Popup telemetry warning can crash radio (#3439)
Also fixes issue where simulator does not close cleanly if popup showing.
2023-04-16 18:25:29 +10:00
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
Raphael CoefficandGitHub b61e2d8dda fix(telemetry): sensor processing with legacy polling disabled (#2653)
Fixes #2546
Fixes #2591
2022-10-31 13:18:39 +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 324c8e9eef fix(PXX2): prevent legacy telemetry polling (S.PORT) if the module driver defines its own method (#2504)
This is to prevent the S.PORT line to interfere with PXX2 telemetry reception, especially with R9M ACCESS.
2022-10-11 21:36:24 +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
Raphael CoefficandRaphael Coeffic 3d3bc64d30 Fixed AFHDS2 define 2022-08-11 12:15:46 +02:00
Raphael CoefficandRaphael Coeffic 66e08da1b8 Fixes for targets without external module 2022-08-11 12:15:46 +02:00
Raphael CoefficandRaphael Coeffic 8f85097c90 MPM proto scan: use RTOS timers instead of polling for timeout 2022-08-11 12:15:46 +02:00
Raphael CoefficandRaphael Coeffic 246840f065 Moved telemetry processing to module interface 2022-08-11 12:15:46 +02:00
Raphael CoefficandRaphael Coeffic bb6c6d6e2d WiP PoC AFHDS3 internal module 2022-08-11 12:15:46 +02:00
Raphael CoefficandRaphael Coeffic db73e4cd87 Move AFHDS3 to new module interface 2022-08-11 12:15:46 +02:00
Raphael CoefficandRaphael Coeffic f952c5f7c7 Internal and external module buffers are now private 2022-08-11 12:15:46 +02: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 Coeffic c11d7d58ae Moved FreeRTOS to an object library
This also allows for reducing the propagated includes and thus avoid name clashes to FreeRTOS.
2022-04-03 17:50:53 +02:00
Raphael Coeffic 0613a29122 Cleanup 2022-03-25 18:23:19 +01:00
Raphael Coeffic a994fc708a WiP internal module buffer 2022-03-25 18:15:56 +01:00
Raphael CoefficandRaphael Coeffic 9d5cd1876c Added support for Lemon-Rx DSMP 2022-03-24 10:40:17 +01:00
3djcandRaphael Coeffic db3547d45c POC 2022-03-21 11:43:48 +01:00
Raphael Coeffic 04c719b180 Fixed telemetry mirroring for internal and PXX2 external modules 2022-03-20 16:30:59 +01:00
Raphael Coeffic 4559dfc2b2 No telemetry mirror exception for the MPM
Fixes #1104
2022-03-20 16:30:59 +01:00
Raphael Coeffic f95597a7ce Enable telemetry mirroring for any telemetry protocol 2022-03-20 16:30:59 +01:00
Raphael Coeffic 530d395204 WiP 2022-03-20 16:22:14 +01:00
Raphael Coeffic d93cd1ea25 Moved aux serial defs to own header file 2022-03-20 16:22:14 +01:00
Bryan MaylandandGitHub dd672dc0ea fix: Send correct internal CRSF modelid on change for BW screens (#1508) 2022-02-01 11:36:34 +10:00
Raphael CoefficandPeter Feerick 09c49e24ee Remove SKY9X target 2022-01-29 14:40:17 +10:00
Raphael CoefficandRaphael Coeffic 9c50255905 Fix pollExtPXX2() 2021-11-21 11:18:35 +01:00
Raphael CoefficandRaphael Coeffic 1f0480532d Removed "[SYNC]" debug 2021-11-21 11:18:35 +01:00
Raphael CoefficandRaphael Coeffic 42508f4173 Slightly revamp telemetry polling 2021-11-21 11:18:35 +01:00
Raphael CoefficandRaphael Coeffic 2abf07ed9b Port of TBS's changes for module scoped telemetry 2021-11-21 11:18:35 +01:00
eshifriandGitHub b1a41438a3 [NV14] Telemetry fixes, use FlySky RX defaults (#856)
* Port from NV14 repository

* Fix altimeter

* Change AFHDS2A default mode to PWM and iBUS

* Fix datacopy.cpp generation for NV14 Windows build

* Cleanup

* Format

* typo fix

* Sngl for alarm and temperature sensor

* remove temperature sensor
2021-10-15 10:18:03 +11:00
Raphael CoefficandPeter Feerick ba03d02b7a Fixes a race condition on proto list class init between UI and mixer task 2021-10-04 21:52:08 +11:00
rotormanandRisto fc2142ec78 Changed uniformly to EdgeTX boiler plate (also added boiler for files that were missing it). 2021-10-02 14:22:01 +02:00
Raphael Coeffic e29138f7e3 Draft support internal module NV14 2021-09-19 16:17:47 +02:00
Raphael Coeffic ba906e1d5d [color] Dynamic MPM proto list 2021-09-11 11:10:00 +02:00
Raphael Coeffic 2f5b522413 Merge branch '2.3' into 2.4 2021-05-16 12:55:21 +02:00
Bryan MaylandandRaphael Coeffic 8a978b5b07 Update ModuleSyncStatus::update signature with proper types
Also updates getRefreshString to use the signed types, and display
correctly scaled values.
2021-04-19 22:42:00 +02:00
Raphael Coeffic ef6f2d0c57 Scrolling from view to view works now
And quite some bugs & crashes fixed.
2021-04-18 07:57:42 +02: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 84387e7e0f Cosmetics 2021-04-05 11:16:17 +02:00
Bertrand Songis a02bf3aa0c Merge with latest 2.3 2021-01-12 17:16:15 +01:00