Commit Graph
147 Commits
Author SHA1 Message Date
Raphael CoefficandGitHub cb43cf75b9 fix: Flashing internal ISRM and via S.PORT connector (#3374)
* fix: re-enabled flashing via S.PORT connector

* fix: remove check for productId on internal module
2023-03-26 11:30:01 +10:00
Raphael CoefficandGitHub e016598b56 fix: Various mostly X10E soft serial issues (#3382)
* fix: pulse driver with 32bit timers

* fix(mpm): clear RX buffer before signature

* fix: add some debouncing on soft-serial start bit detection

This helps coping with spurious impulses on S.PORT created by payload sent over PPM pin (X10E).

* fix: whenever the RXNE bit is set, read the register

... regardless of errors. That allows for reducing the effect of detected errors.
2023-03-26 11:23:32 +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 2067140552 fix(isrm): flashing internal ISRM module (#2596)
Fixes #1552
2022-10-19 21:13:48 +10:00
Raphael CoefficandGitHub c7e77ccd36 fix(mpm): update internal module (#2314)
* Internal MPM update: UART context must be removed last

This fixes the crash / reboot observed in issue #2310

* Fix DMA fifo clear() method
2022-09-14 11:58:01 +10:00
b4e1ceb4f8 fix(MPM): Various UI elements for MPM opts weren't updating correctly (#2209)
* fix: Get current values for MPM options

* fix: Don't show sub-proto dropdown when empty

* Add suggested call to `update()`

* Add callback to refresh when subtype changed

* Trip `SetValueHandler` rather than setting value
Thank you to @raphaelcoeffic for the hint ;)

* fix: Saving values when changed is a good idea!

* Load option flags properly when using internal proto list

* NumberEdit fields don't implement LV_EVENT_VALUE_CHANGED, use update() instead

* Fix checkbox behaviour

* Fix autobind checkbox after switching away from DSM

* Fix more parameter needing update on MPM sub-proto changes

* fix: Also update servo rate if present

* fix: Channel mapping needs updating also

Co-authored-by: Raphael Coeffic <raphael.coeffic@frafos.com>
2022-09-05 21:56:24 +10: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 f952c5f7c7 Internal and external module buffers are now private 2022-08-11 12:15:46 +02:00
Raphael CoefficandRaphael Coeffic 0a38120024 Fixed MPM protolist after rebase 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 f39f7a87ed Use static MPM protolist on simu
Resolves #1793
2022-04-18 10:18:17 +02:00
Raphael Coeffic d318f6d9bd MPM firmware update again... 2022-03-27 17:19:05 +02:00
Raphael Coeffic 1017172350 Fix MPM firmware update 2022-03-27 17:03:41 +02:00
Raphael Coeffic a994fc708a WiP internal module buffer 2022-03-25 18:15:56 +01:00
Raphael Coeffic 59191f37c3 Use software timers to trigger telemetry processing 2022-03-25 16:50:00 +01:00
Peter FeerickandGitHub c327c6c0db fix: TPro FS showing in global funcs and MPM protocol list updates (#1705)
* Init contrast earlier for 128 B&W screens
https://github.com/opentx/opentx/pull/8882

* fix: TPro - No FS in global functions
https://github.com/opentx/opentx/pull/8845

* Missing IS_SWITCH_FS defintions

* Update MPM fallback SUBTYPE and OPT strings

* Custom MPM proto should not be processed
2022-03-21 20:57:04 +10:00
Raphael Coeffic 530d395204 WiP 2022-03-20 16:22:14 +01:00
Raphael Coeffic 025659ac36 Add support for RX DMA 2022-03-20 16:22:14 +01:00
Raphael Coeffic e5c852ab37 Fixed some compilation issues 2022-03-20 16:22:12 +01:00
Raphael Coeffic ffefd0f6dd External serial driver moved to a separate driver 2022-03-20 16:22:12 +01:00
Raphael Coeffic 803b472c85 Move all serial internal module functions into proper drivers 2022-03-20 16:22:12 +01:00
Raphael Coeffic f733810c79 WiP: refactor serial ports 2022-03-20 16:22:12 +01:00
WilhelmandGitHub 67d4a29e31 chore: Replace fixed strings with translation for device-flash-dialogs (#1372)
* replaced fix strings with translations

* additional strings

* replaced wrong german string to english in all but german translations

* fixed spelling
2022-02-11 10:27:05 +10:00
Peter FeerickandGitHub 6e51c70aa7 Reduce code repetition for sd browser firmware update handling, add some .frsk entries (#543)
* Hacky port of FRSKY_FIRMWARE_EXT update menu
More work is needed to integrate/test the remaining menu items
May just ba a matter of correct parameters for deviceFirmwareUpdate

* Functionalise, of sorts

* Formatting

* Functionalise more repeated update code
2021-11-22 17:01:22 +11:00
Raphael CoefficandRaphael Coeffic 1fe4876786 Revert ModuleFifo size to original (PXX2_FRAME_MAXLENGTH = 64) 2021-11-21 11:18:35 +01:00
Raphael CoefficandRaphael Coeffic 73790c1654 Use FreeRTOS stream buffers and task notifications 2021-11-21 11:18:35 +01:00
Raphael CoefficandRaphael Coeffic 59f2b5e8b0 Temporary boosting the ModuleFifo to 128 bytes
This is to better cope with the CRSF frames that need to contain 64, whereby Fifo has a maximum content length of (N-1).
2021-11-21 11:18:35 +01: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 CoefficandPeter Feerick f401cd4a12 [color] use own protocol counter
Overloading the frame counter causes aa race condition with the UI thread (see SEND_FAILSAFE_1S()).
2021-09-18 11:57:23 +10:00
Raphael Coeffic c2588efbca Prevent proto list to be fetched when started in anything but "normal" mode 2021-09-17 11:15:33 +02:00
Raphael Coeffic 34677d0148 Invalidate MPM cached proto list on firmware upgrade 2021-09-11 12:10:05 +02:00
Raphael Coeffic ba906e1d5d [color] Dynamic MPM proto list 2021-09-11 11:10:00 +02:00
Raphael CoefficandRaphael Coeffic 351173a509 Various fixes around flashing bootloader 2021-05-29 13:34:25 +02:00
Raphael CoefficandRaphael Coeffic 8e57090d66 Use real bootloader size when flashing 2021-05-29 13:34:25 +02:00
Raphael CoefficandRaphael Coeffic 954758c770 Allow flashing a bootloader which does not end on 1KB boundary or is shorter than the maximum size
Resolves #75
2021-05-29 13:34:25 +02:00
rotormanandRaphael Coeffic 78327063fb Added stdio.h to be able to compile with GNU Arm Toolchain v10 2020-q4 without errors. 2021-05-29 07:39:12 +02:00
Raphael Coeffic 2f5b522413 Merge branch '2.3' into 2.4 2021-05-16 12:55:21 +02:00
3djc af17efadda Fix #8477 2021-05-15 13:40:25 +02:00
Raphael Coeffic 1bce228910 More header fixes for COLORLCD 2021-04-18 07:57:42 +02:00
Raphael Coeffic f76ef9312b Fixed includes for BW radios 2021-04-18 07:57:42 +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 0a5c3d5969 Merge branch '2.3' into 2.4 2021-04-15 10:48:46 +02:00
3djc b1812ce90c Fix T8 2021-04-15 09:42:41 +02:00
Bertrand Songis 4a2e20815f Fixes 2021-02-11 17:50:43 +01:00
3djc 0cf87da402 Better fix 2021-01-25 16:05:04 +01:00
Bertrand Songis a02bf3aa0c Merge with latest 2.3 2021-01-12 17:16:15 +01:00
Raphael CoefficandGitHub d66829e0d8 added support for ELRS flashing (STK500) (#7968)
Added support for ELRS flashing (STK500)
2020-10-16 16:32:24 +02:00