Commit Graph
77 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
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
XINGandPeter Feerick 299991bc11 Add iFlight Commando8
Add iFlight Commando8 ELRS radio
2022-08-16 18:44:57 +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
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 6010eff024 TX12MK2 initial (external issue with MPM) 2022-07-20 13:01:31 +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
Raphael CoefficandRaphael Coeffic 9d5cd1876c Added support for Lemon-Rx DSMP 2022-03-24 10:40:17 +01:00
Raphael Coeffic 921854d13c fix: bottom of hardware menu on stdlcd 2022-03-22 14:58:39 +01:00
3djcandRaphael Coeffic f426dd1254 Fixes 2022-03-21 11:48:50 +01:00
3djcandRaphael Coeffic ab09d0a25f Introduce serial status 2022-03-21 11:48:50 +01:00
3djcandRaphael Coeffic 0cc2b95b09 Cosmetics 2022-03-21 11:48:50 +01:00
3djcandRaphael Coeffic c0e6f2a7f9 Compilation fixes 2022-03-21 11:48:49 +01:00
3djcandRaphael Coeffic db3547d45c POC 2022-03-21 11:43:48 +01:00
Raphael Coeffic ce93ffbe9e Generic serial port config for stdlcd 2022-03-20 16:30:59 +01:00
Raphael Coeffic 34e9cbb245 Fix AUX serial setting taranis 2022-03-20 16:30:59 +01:00
Raphael Coeffic b39baa2360 Use USB VCP as a normal serial driver as well 2022-03-20 16:22:14 +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
Peter FeerickandGitHub 2792ad2fa4 fix: TX12 bootloader contrast too dark, and SE/SF could not be set 3POS (#1548)
* fix: SE and SF could not be set 3POS
*Somebody* (me) forgot ternary operator only compares two value in #1303

* fix: TX12 default contrast is too high
There is no 'perfect' value due to manufacturing variance, but 25 is simply too high,
and 15 a bit too low.
2022-02-12 20:38:55 +10:00
Raphael CoefficandPeter Feerick 09c49e24ee Remove SKY9X target 2022-01-29 14:40:17 +10:00
c3c8a2e3f1 feat: Model level ADC Jitter filter option (#1363)
* ADC Filter - On/off state configurable at the model level

* Updated YAML configuration to match change from ADC Filter feature commit

* Companion changes to support ADC jitter filter to be a model configuration item.

* Renamed jitterFilter field to noJitterFilter.

This better describes the semantic, which is inverted.

* Updated after review

* Re-run generate-yaml

* Changed ADC Jitter filter control on Model to be tri state.
Off, On or use the radio setting

* Adde NOBACKUP() to the added field

* Re-generate yaml_datastructs

* Making the default state to use radio setting/Global value

* Updated after review:
Changing to more consistent naming across firmware and companion.

* Reverted  files that was accidently added to the commit.

Co-authored-by: Peter Feerick <peter.feerick@gmail.com>
2022-01-26 20:54:23 +10:00
Peter FeerickandGitHub 351643b652 Clear active model internal module settings if radio level setting changed (#1316)
* [colorlcd] Ensure active internalModule is reset if different to radio level setting

* [B&W] Ensure active internalModule is reset if different to radio level setting

* storageDirty only when model setting cleared

* [b&w] Remove reusablebuffer, code re-order

* [colorlcd] More direct moduleType comparision
Consistent with B&W test
2022-01-03 20:55:49 +10:00
d41855a316 [TX12] Fix support for additional switches (SI and SJ) (#1303)
* Fixed support for Radiomaster TX12 additional switches (SI and SJ)

Two connectors are present on TX12 main board (near top of internal TX module) and are mapped as SI and SJ, but were not read out by the firmware.
With this update they might be used for some further hacking of the radio (ex. adding additional 2-pos switches, adding detector of external module insertion etc.).

* Radiomaster TX12 - preventing selection of Si and SJ as 3POS

* Radiomaster TX12 - corrected SI and SJ switch names in Keys Debug screen

Switches were displayed in test screen as SG and SH, due to fact that firmware did not take into account no presence of SG and SH in TX12.
The update provides correct and consistent naming of the additional switches across whole radio.

* Alignment tweak + fix rot_enc info overlap

Co-authored-by: Peter Feerick <peter.feerick@gmail.com>
2021-12-30 15:49:23 +10:00
3djcandRaphael Coeffic d31482c18b Introduce T-pro and function switches handling 2021-12-17 17:07:48 +01:00
3djcandRaphael Coeffic 6735a42b08 Radiomaster Zorro
Port of opentx/opentx#8791
2021-12-17 15:17:48 +01:00
Raphael CoefficandRaphael Coeffic e854515147 Fix T12 switch definitions
The T12 has SG instead of SF.
2021-12-17 12:08:23 +01:00
Peter FeerickandPeter Feerick 3c725dda35 Fix lines missed in #1117 2021-12-01 10:41:57 +10:00
Peter FeerickandPeter Feerick a87a484780 [B&W] Don't add entries for non-existant rows
BACKUP_EEPROM & FACTORY_RESET
2021-12-01 10:41:57 +10:00
Raphael CoefficandRaphael Coeffic daf8bae8e4 Added support for internal module config in stdlcd UI in radio hardware 2021-11-25 12:10:16 +01:00
Raphael Coeffic 985a8760bb WiP 2021-11-10 11:06:59 +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
Paul Kendall 994c739b57 Fix baud rate defaults
Default value 0 is 400k baud, unless SPORT_MAX_BAUDRATE < 400000 in which case default value 0 is 115k baud.
2021-09-17 12:20:43 +12:00
884bcec13c Allow selecting higher baud rates (#640)
* higher baud rates

* Update colorlcd models to support selectable baud tp 3.75M

# Conflicts:
#	radio/src/gui/colorlcd/radio_hardware.cpp

Co-authored-by: Jye <JyeSmith@users.noreply.github.com>
Co-authored-by: Paul Kendall <pkendall64@gmail.com>
2021-09-12 06:46:43 +10:00
Raphael Coeffic 0e4201f25d WiP 2021-07-31 18:46:38 +02:00
Raphael Coeffic 33d8267489 Merge branch '2.3' into 2.4
# Conflicts:
#	radio/src/datastructs.h
2021-06-10 17:31:39 +02:00
Raphael CoefficandRaphael Coeffic b429855675 Fixed editName() 212x64 2021-06-05 20:29:09 +02:00
HydraandRaphael Coeffic fdb5cc379c Fix missing whitespace after function. 2021-05-20 23:24:04 +02:00
HydraandRaphael Coeffic 2f27c3c1a6 Add OneBit mode to HARDWARE menu. OneBit mode can help if your radio
has a slow inverter circuit by changing the UART sampling behaviour.

* It was found that the X9D+ and X7 (maybe others) have a slow inveter
that messes up reception of fast (400,000baud) UART signals.  On the
scope the rise time of the signal is very long.
* See RM0033 24.3.3 Receiver / Selecting the proper oversampling method.
Page 631.


Also note that reducing the pull-up resistor from 10k to 1k at R82
(X9D+) / R406 (X7) will also help with the rise times.  However on the
X7 changing the resistor is not enough, OneBit is needed too.
2021-05-20 23:24:04 +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 3a2a51e353 b&w too 2021-01-28 08:05:33 +01:00
3djc 40506ac858 Compilation fix 2021-01-19 16:24:39 +01:00
3djc b90cfb7675 Cosmetics 2021-01-19 16:14:46 +01:00
3djc 8fcc4f7247 Cosmetics 2021-01-18 17:37:50 +01:00
Kilrah c34ed67343 Merge branch '2.3' into 3djc/T-Lite
# Conflicts:
#	companion/src/firmwares/boards.h
#	companion/src/firmwares/opentx/opentxeeprom.h
#	radio/src/gui/common/stdlcd/radio_hardware.cpp
#	radio/src/targets/common/arm/stm32/adc_driver.cpp
#	radio/src/targets/common/arm/stm32/bootloader/CMakeLists.txt
#	radio/src/targets/taranis/board.h
#	radio/src/targets/taranis/hal.h
#	radio/src/targets/taranis/keys_driver.cpp
#	radio/src/targets/taranis/lcd_driver_spi.cpp
2021-01-15 20:17:02 +01:00
3djcandGitHub 1f01fa6d47 Radiomaster T8 (#8219) 2021-01-15 17:19:25 +01:00
3djc 84c86f718b Jumper TLite support 2021-01-14 13:30:54 +01:00
3djcandGitHub 24f93a7cbe 3djc/2.4 add 2.3 pr (#8099) 2020-11-19 16:32:50 +01:00
3djcandGitHub e1e67a9d8c Add support for radiomaster TX12 (#8080)
* Add tx12 support
2020-11-14 11:48:46 +01:00
Bertrand Songis 42a3198568 Merge with latest 2.3 2020-10-07 21:01:45 +02:00