Commit Graph
718 Commits
Author SHA1 Message Date
Raphael CoefficandGitHub 6aa1fc90c4 fix: signal polarity for soft-serial & timer based protocols (#3513)
* fix: signal polarity for soft-serial & timer based protocols

* fix: first PWM period after init
2023-05-05 19:20:29 +10:00
8b40fb771a fix(AFHDS3): Some sensor values displayed incorrectly (#3386)
* Fix the bug that some sensor values are displayed incorrectly

* Fix typos

* Fixed some units problem.

* Unit of SNR should be db and not dbm.

* Fixed Alt scaling in NV14.

* Fixed the temperature and voltage error of the FRM303 module.

* Fixed temperature data error.

---------

Co-authored-by: Richard Li <richard.li@ces.hk>
2023-04-19 20:12:39 +10:00
Peter Feerick cf01c2b441 Revert "fix(color): Scroll order for 'FlySky' module options (#3479)"
This reverts commit 54e0d350e8.
2023-04-19 11:40:45 +10:00
philmozandGitHub 54e0d350e8 fix(color): Scroll order for 'FlySky' module options (#3479)
* Fix scroll order for module options when 'FlySky' module type selected.
Fix simulator crash issues related to FlySky module.

* Fix more simulator crashes
2023-04-18 11:01:26 +10:00
125fd2ba28 fix: Missing configurable port code, R9M Access, support FRM303 via mod (#3442)
* Fix configurable external module port

* Added FRM303 support for TX16S via AUX1 mod, i.e. direct connect AUX1 TX/RX to PPM/Heartbeat pins.

---------

Co-authored-by: raphaelcoeffic <raphael.coeffic@frafos.com>
2023-04-15 19:04:34 +10:00
richardclliandGitHub 4f624cc3bc fix(afhds3): Only first four failsafe channels being set (#3465) 2023-04-14 09:27:14 +10:00
Xy2019andGitHub 02e804f55c fix(afhds3): Unable to set SBUS, IBUS display issue, indiv channel PWM freq (#3443)
* Fix the BUG of V0 receiver setting IBUS SBUS; add the setting item of INRM301.

* Fix check failure; remove some unused characters.

* Fix typos and rename variables as well as fix compilation errors.

* add language
2023-04-13 19:36:43 +10:00
richardclliandGitHub f01b0f2772 fix(AFHDS3): Incorrect channel scaling (#3449)
* Fixed IRM301/FRM303 channels scaling problem.

* Add back the remarks for calculation.
2023-04-08 20:17:40 +10:00
Xy2019andGitHub 9ca470ed6b fix(AFHDS3): Rx configuration not updated when switching model, manual exit bind (#3385) 2023-03-23 13:44:32 +10:00
MichaelandGitHub a7688e2b04 fix(colorlcd): ACCESS receivers being lost after sync with Companion (#3355)
* fixes https://github.com/EdgeTX/edgetx/issues/3273

* empty commit to trigger checks

* Companion: moved yaml tag receivers correction to yaml parserCompanion and radio: updated comments
2023-03-23 10:45:24 +10:00
Xy2019andGitHub 366242eb30 fix(el18): Inability to set custom failsafe (#3298)
* fix: Automatic power on and INRM301 failsafe BUG
2023-03-22 11:50:11 +10:00
richardclliandGitHub f65f139f12 fix(mpm): MPM status showing invalid protocol for XK (#3369)
* Fixed the last definition.

* Upper 2 bits calculated wrong because of Frsky mess.

* fix: More Frsky defintion corrections
2023-03-22 11:29:00 +10:00
richardclliandGitHub 4547f08cca feat: Add support for FRM303 (#2875)
* Add FRM303 support.

* chore: Formatting
2023-02-27 21:51:45 +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 57bf180a9b feat(mpm): remove FrSky special treatment madness (#3032) 2023-01-26 11:44:46 +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
Raphael CoefficandGitHub a25bc828cb chore(bw): Remove doubled CRC table, saving 512 bytes of flash (#2990)
....  thus waisting 512 bytes in Flash for nothing.
2023-01-18 11:05:45 +10:00
Raphael CoefficandGitHub 06c359f096 feat(ACCESS): Configure AUX serial port as "External module" (#2562)
* Enable RX DMA on external module USART

* feat(ACCESS): configure AUX serial port as "External module" (#2562)

This allows configuring the external access mod on runtime rather than by compilation option.

* fix: fetch external module driver
2022-12-14 18:41:32 +10:00
Raphael CoefficandGitHub 2067140552 fix(isrm): flashing internal ISRM module (#2596)
Fixes #1552
2022-10-19 21:13:48 +10:00
Raphael CoefficandGitHub 655965d7a6 fix: prevent endless loop with SBUS trainer on model change (#2515)
* fix: prevent generic module de-init if protocol is NONE

Fixes #1898

De-initialising the external module while SBUS trainer is used on external module RX leads to the following sequence:
- `extmoduleStop()` is called, thus shutting down the timer DMA
- on certain targets, the timer DMA stream is the same as the external module RX DMA stream
- when this DMA stream is used by the SBUS trainer input, this leads to DMAFifo to return random bytes continuously
- thus driving `processSbusInput()` into an endless loop, which is run in the mixer task
- as the mixer task has the highest priority, it runs forever
- after some time the watchdog timer expires, and causes a reboot

* DMAFifo: check if the stream is enabled

This provides some hardening to avoid the conditions described in previous commit.
2022-10-12 12:45: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
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
Raphael CoefficandGitHub 8c8b24225d feat(EL18): Add AFHDS3 receiver options (#2470)
* Get config after switching model ID

* Remember set model ID and change it on the fly

* Add AFHDS3 options

* Fix compiler warning

* Fix box sizing

* Apply model config before editing options
2022-10-09 19:54:55 +10:00
Raphael CoefficandGitHub 50b7df02f6 fix: R9M access subtype (#2211)
* Remove sub-type choice for R9M ACCESS modules

* pxx2: subtype is only needed for XJT lite and ISRM
2022-10-02 18:45:34 +10:00
Raphael CoefficandPeter Feerick 647d19bbc9 Fix access settings pop-ups 2022-08-18 12:38:35 +10:00
Raphael CoefficandRaphael Coeffic 3d3bc64d30 Fixed AFHDS2 define 2022-08-11 12:15:46 +02:00
Raphael CoefficandRaphael Coeffic e31e3bb8be Fix PXX2 telemetry 2022-08-11 12:15:46 +02:00
Raphael CoefficandRaphael Coeffic df0d115a72 Fix PXX2 authentication support 2022-08-11 12:15:46 +02:00
Raphael CoefficandRaphael Coeffic 4cecdc0cae PXX2: fix CRC check and frame end 2022-08-11 12:15:46 +02:00
Raphael CoefficandRaphael Coeffic 267fa84f3f WiP: better restartModule() 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 246840f065 Moved telemetry processing to module interface 2022-08-11 12:15:46 +02:00
Raphael CoefficandRaphael Coeffic 39c61408e7 AFHDS3: Model ID & fixed model switch 2022-08-11 12:15:46 +02:00
Raphael CoefficandRaphael Coeffic bea7e4ec13 AFHDS3: better layer separation (transport / protocol logic) 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 1a918bf072 Improve NV14 CMake 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
wimalopaanandPeter Feerick 0daaf9b82f removed unneccessary member 2022-07-27 10:45:26 +10:00
wimalopaanandPeter Feerick f55080e9e9 separated radio_tools and radio_version pages according to reusableBuffer 2022-07-27 10:45:26 +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
gagarinlgandRaphael Coeffic 4ec3304969 fix missing include 2022-06-11 15:38:08 +02:00
Raphael CoefficandRaphael Coeffic f6565c6826 Horus fixes 2022-06-11 15:38:08 +02:00
Raphael CoefficandRaphael Coeffic 352c273d32 Taranis 212x64 2022-06-11 15:38:08 +02: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
Peter FeerickandGitHub dbb9a5e4b2 chore: Introduce FreeRTOS Software timers
Introduce FreeRTOS Software timers
2022-03-31 16:26:38 +10:00
Raphael CoefficandRaphael Coeffic 36bbdd2812 Allow longer PPM trainer frames 2022-03-29 12:05:25 +02:00
Raphael CoefficandRaphael Coeffic 9c2ce4777d Fix trainer signal period 2022-03-29 12:05:25 +02:00
Raphael Coeffic ee10cf9ff8 Fix AFHDS2 2022-03-27 17:43:14 +02:00
Raphael Coeffic dcc8902f17 Fixed PXX1 serial external 2022-03-27 16:29:49 +02:00