Commit Graph
43 Commits
Author SHA1 Message Date
philmozandGitHub bd92f70056 feat: Support all current timezones for GPS (#3406)
* Support all current timezones.

* Fix function name and calculation for timezone offset.

* Allow setting any time offset value from -12 to +14 in 15 minutes increments.

* Alternate timezone editor in Companion (from elecpower).

* Fix compiler warning.

* chore: Add the T20
2023-07-16 14:02:27 +10:00
3djcandGitHub 8f0ad3fca8 fix: Allow compile without multimodule support (#3750) 2023-07-03 19:07:02 +10:00
Frankie ArzuandGitHub bdb78ba2ef fix(telemetry): DSM Flight Pack Monitor Sensor encoding (#3690)
Fix the Flight Pack sensor processing.

The main problem was that we expected the data to come in big-endian encoding, but in reality, the sensor send it in little-endian.   This was causing the 1st byte to change much faster, and eventually move into the negative value.

Added more validations to handle little-endian values, and recognize NO-DATA scenarios
2023-06-19 12:39:40 +10:00
Frankie ArzuandGitHub be1a20f595 fix (telemetry): DSM Telemetry fixes for ESC sensor, Binary GPS, RX Battery Sensor Capacity meter (#3615)
* #3368 DSM Telemetry Fixes

1. Expand constants for telemetry frame SIDs and optimize flow of processing of sensors (less CPU work)
2. Add Binary GPS
3. Add Dual Battery Sensor monitor
4. Fix bad math on some ESC sensors
5. Fix problem where ESC RPM sensor was changed from "Erpm" to "EscR".. fix it back to "Erpm" for compatibility with 2.8.x

* #3368 DSM Telemetry Fixes

1. Split long if-then-else code into more granular function.
2. fix ESC VBEC (BEC voltage)
3. Improve testing function
2023-05-27 17:55:26 +10:00
edd469645f fix(DSM telemetry): GPS Sensor, FM for AS3X and TZ adjustment (#3366)
* #3290 Fix for GSP

* Fix GPS Telemetry problem.

* Added FlightMode for some RX   (AS3X and ALPHA6-BLADE)

* #3290

Fix small problems.

* Add adjustment for TimeZone

Add adjustment for TimeZone

* chore: Mostly formatting, unused code removal

---------

Co-authored-by: Peter Feerick <peter.feerick@gmail.com>
2023-03-23 11:52:39 +10:00
Frankie ArzuandGitHub 7aa4999c03 feat(DSM): Allow Lua scripts to access raw DSM telemetry data (#3126)
Fixed DSM telemetry to allow LUA scripts to request the RAW DSM telemetry raw data.  This will enable the use of TextGen
2023-02-22 21:12:46 +10:00
MichaelandGitHub 2470cedf38 chore: Remove obsolete language defines, single source for telemetry sensor names (#3119)
* - all telemetry sensor name definitions in one place (untranslated.h)

- all telemetry sensor name definitions follow the naming convention STR_SENSOR_<sensor>
- eliminated one redundant definition
- editorial updates to telemetry protocols code to reflect the naming convention changes
- re-introduced translations in da.h (STR_SENSOR_THROTTLE and STR_SENSOR_SPEED)
- re-introduced translation in it.h (STR_SENSOR_GPSDATETIME)
- re-introduced translation for fr.h ( STR_SENSOR_BATT)
- saved 160 Bytes of flash

* removed obsolete translation

saved 280 byte flash memory in total

* finally removed extern const char STR_MENUTEMPLATES[]; definition

adjusted da.h, fr.h, it.h local sensor name definitions to naming conventions STR_SENSOR_<senosr>

* corrected merge

removed obsolete #ifdef

* some more obsolete ones

* added TW and CN translation for TR_PERIOD and TR_INTERVAL

fixed problem in /radio/src/gui/colorlcd/fullscreen_dialog.cpp preventing builds for CZ, IT and FR languages
2023-02-10 19:49:41 +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 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 7922afd9ca Implemented proper logic for number of channels (incl. start channel) 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
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 CoefficandRaphael Coeffic 6d490bddf0 Sensors don't use ZCHAR in 2.4
Resolves #97
2021-06-02 11:19:11 +02:00
Bertrand Songis 42a3198568 Merge with latest 2.3 2020-10-07 21:01:45 +02:00
pascallangerandGitHub 200116257c Changes to allow Lua to access DSM Forward Programming (#7913) 2020-09-02 21:13:58 +02:00
pascallangerandGitHub 9ef510d848 Update DSM autobind behavior (#7820)
Authored-by: Pascal Langer <planger@mathworks.com>
2020-07-16 09:27:56 +02:00
3djcandGitHub 044c3bbf86 Multi R9/DSM (#7804) 2020-07-08 14:55:59 +02:00
Bertrand Songis bddccb9765 Merge with latest 2.3 2020-05-30 11:57:03 +02:00
3djcandGitHub 04f2ec91b4 Add Spektrum smart ESC and smart battery telemetry (#7460)
Add Spektrum  ESC telemetry
2020-03-27 09:40:57 +01:00
Bertrand Songis 0626b31dfe Merge with latest 2.3 2020-01-08 16:35:30 +01:00
Bertrand SongisandGitHub 16c9a92f49 Bluetooth SD logs (#7197)
Bluetooth SD logs
2019-12-16 12:22:48 +01:00
3djcandBertrand Songis 28b7583882 Sensors are no longer zchars (#7178) 2019-12-10 12:43:05 +01:00
3djcandGitHub 3a7e006635 Support new Multi 1.3 features (#7077) 2019-11-15 16:20:24 +01:00
Raphael CoefficandRaphael Coeffic 6b12010473 Add T16 support
Added support for:
- T16 radio
- internal multi-protocol module.
- flashing internal and external multi-protocol modules.

Many thx to:
- goebish, for the hardware support.
- qba667, for the original patches for the internal multi-protocol support (UI and serial com).
2019-09-24 22:12:13 +02:00
Bertrand SongisandGitHub 9e52de7a49 Merge the enums TelemetryProtocol and TelemetryProtocols (#6676) 2019-08-28 11:39:06 +02:00
Bertrand SongisandGitHub 4d07faa8e0 Bsongis/accst support over pxx2 (#6455)
ACCST support over PXX2
2019-05-27 17:23:17 +02:00
Bertrand Songis 3a99fcd826 [PXX2] R9M/R9 BIND options added 2019-04-24 11:13:29 +02:00
3djc ce0a58b790 Multi fixes 2019-03-16 15:28:53 +01:00
Bertrand Songis ab77595c6c Another lot of refactoring 2019-02-05 14:18:45 +01:00
Arne Schwabe c75d873b91 Remove CASE_CPUARM and IF_CPUARM macros 2018-07-05 12:05:55 +02:00
Arne SchwabeandBertrand Songis 06b0694f03 Schwabe/multi telemetry (#4151)
* Add FY805 protocol

* Fix stray space

* Fix multi sending 120% instead of 100%.

* Implement a custom telemetry for the multi module

The custom telemetry allows the module to tell the telemetry protocol to OpenTX and also allows signaling the status of the Module (e.g. invalid protocol) to OpenTX

This should also close #3979.

* Cosmetics and a few small bugfixes

* remove empty if

* Move status line directly below the mode to be always visible when selecting a protocol

* warn if internal RF module is on

* Replace sprint with small helper function to build on AVR ARM (AR9X, 9XPRO, …)

* TR in wrong order, RF_PROTO_OFF inverted

* Refactor definition of Multimodule protocols to have one central place to define all multi protocol properties

* Also update protocols in companion

* Update multi version number to display as a.b.c.d
2016-12-24 00:04:11 +01:00
Arne SchwabeandBertrand Songis 9983ff9851 Add new sensors for Spektrum’s Serial Telemetry Receiver (SPM4649T) (#4037)
* Add new sensors for Spektrum’s Serial Telemetry Receiver (SPM4649T)

* Use define instead of hardcoded number
2016-11-22 21:08:39 +01:00
Arne SchwabeandBertrand Songis 6b57f7afa7 Add FlySky Telemetry (#3997)
Add FlySky Telemetry
2016-11-13 19:09:33 +01:00
Arne Schwabe 6bec8cef5a Stop bind on bind response received 2016-10-16 22:24:37 +02:00
Arne Schwabe a21d3e6f2e Fix sending number of dam channels, give DSM2 debug telemetry output a better name 2016-10-16 22:24:36 +02:00
Arne Schwabe 278e71d6f9 Fix the custom protocol logic for multi
There parts that were not handling custom vs non custom right
2016-10-16 22:24:18 +02:00
Arne Schwabe c055e93247 Rework DSM2/X support, auto protocol selection for DSM2
Support more than 31 protocols for the multi module. Breaks existing multi eeproms, need to reselect protocols
2016-10-16 22:17:38 +02:00
Arne Schwabe bcf7b48359 Implement parsing the bind packet from DSM2 (untested) 2016-10-16 22:17:38 +02:00
Bertrand Songis 16199194b5 Cosmetics 2016-08-03 05:16:25 +02:00
Arne SchwabeandBertrand Songis 789a0ee548 Report unknown Spectrum sensors as raw sensors (#3679) 2016-08-03 05:11:43 +02:00
Arne SchwabeandBertrand Songis 0b67d412a0 Schwabe/multimodule 9x (#3676)
* Fix Multimodule showing up as Crossfire when only multimode and not crossfire is enabled.

* Don't hardcode telemetry to be Frysky on non STM32 arm targets

* Port multi module code to 9X platforms

* Allow Spektrum telemetry protocol to be selected as protocol for the telemetry selection

* Fix infinite loop in spektrum code

* Fix cosmetics

Changes also done for Horus and Taranis UI where appropriate
2016-08-02 18:21:18 +02:00
Arne SchwabeandBertrand Songis 352de89838 Spektrum telemetry implementation (#3659)
* Implementation of Spektrum Telemetry for the DYI Multimodule.

I can only test a subset of sensors and these look okay

* Implement conversion from Fahrenheit to Celsius

* Minor fixes for Spektrum telemetry

* Add some more sensors, show sensor ID instead of instance in the overview
2016-07-22 17:38:11 +02:00