Commit Graph
2473 Commits
Author SHA1 Message Date
4ea77cd172 fix: Enable AUX1 power on TX16S with IMU_LSM6DS33 (#3156)
* fix: enable AUX1 power on TX16S with IMU_LSM6DS33

* Add some delay when powering I2C bus

---------

Co-authored-by: raphaelcoeffic <raphael.coeffic@frafos.com>
2023-02-15 16:22:58 +10:00
Malte LangermannandGitHub 070b255647 fix: RTOS independent 1ms tick count for HAL (#3178)
* fix: use a 1ms HW timer to generate a RTOS independend 1ms tick counter for HAL

* fix comments
2023-02-13 16:35:11 +10:00
Raphael CoefficandGitHub d4633ea1de chore: Move __global_locale to FLASH (frees some RAM!) (#3169)
And save a bit of RAM.
2023-02-10 19:52:42 +10:00
Raphael CoefficandGitHub be3f8d74a8 feat(lua): Port of NodeMCU Lua53 read-only tables (#2994)
* chore(lua): revert useless c light function change

This change was part of the eLua LTR patches (based on 5.1), whereby this feature was already integrated in Lua 5.2.

* feat(lua): port of NodeMCU Lua53 read-only tables

# Conflicts:
#	radio/src/lua/CMakeLists.txt
#	radio/src/lua/api_general.cpp

* fix(nv14): missing SDRAM definition

* fix: l_mathop

* fix: use float functions in drawPower()

* fix: ltable resize

* fix: correct name is "bit32"

* fix: first Lua context must be closed last

As the lookup cache is attached to that one

* Revert to Lua using double

* Ensure byte-code compatibility

* Fix possible compatibility issue with `lua_typename`/`luaL_typename`

* Fix Bitmap symbol table

* Re-add table lib for COLORLCD
2023-02-09 20:29:56 +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
raphaelcoefficandPeter Feerick af9f1b7e9c chore: fix STM32 HAL headers
Single HAL headers/modules are enabled by changing the defines in `stm32f2xx_hal_conf.h` / `stm32f2xx_hal_conf.h` rather than being directly included into this file.
2023-02-02 13:12:33 +10:00
RistoandGitHub 5acaa79c1c feat(fw): Only show SD card in USB storage mode (#3045)
* Only attach SD card in USB storage mode

* Added compile time option FWDRIVE (default OFF) to enable attaching also the firmware drive via USB, when attached in mass storage mode.

* Re-trigger GitHub Actions

* chore: Trailing whitespace cleanup
2023-01-26 14:39:31 +10:00
Raphael CoefficandPeter Feerick 4c272863d3 fix: Prevent firmware overflow for X9D+2019
- Remove __global_locale
- Use same animation for startup and shutdown
2023-01-25 19:42:05 +10:00
RistoandGitHub 0b79315fe5 chore: cleanup, remove unnecessary commented line 2023-01-24 19:03:10 +01:00
CliffandGitHub 0b8e4c6003 Allow using Segger RTT as debug output (#3052)
Firmware needs to be built with -DDEBUG=YES and -DDEBUG_SEGGER_RTT=YES to use this feature.
2023-01-23 09:08:31 +01: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
Matthias HryniszakandGitHub a68c0cf58a feat(diags): Red LED before RTC data, blue LED after (#3006)
* Added turning the red LED before RTC data and blue LED afterwards

With the LED turned RED if the RTC data retrieval fails it will stay red.
This will at least be an indication that the RTC startup encountered
a problem. For now there is no indication that this problem occurred.

* GH-3005 Moved LED manipulation to conditionally compiled when RTC operation happens
2023-01-15 12:02:03 +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
raphaelcoeffic 330e673826 fix(taranis): XJT internal module initialization 2022-12-29 10:25:29 +01:00
Malte LangermannandGitHub a1eabf11a5 chore: convert RTC to HAL (#2866)
* chore: switch RTC to HAL

* chore: remove unneeded files

* fix simu/simulator
2022-12-23 15:38:37 +10:00
Raphael CoefficandGitHub f9bac7ba9b chore: Remove support for binary storage format (#2900) 2022-12-23 13:05:57 +10:00
philmozandGitHub 2206506c82 fix(color): Increase menu max height on landscape screens for better fit (#2896) 2022-12-19 19:10:05 +10:00
Raphael CoefficandGitHub 22e51fb6d0 fix(simu): Do not use "update" mode for opening read-only files (#2846) 2022-12-14 18:42:25 +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 48be7c263b chore(cmake): CMake cleanup and simplifications (#2620)
* CMake cleanup and simplifications

* Position Independent Code is need for radiolib_native

* Some more cleanup & repair

* Fix SIMU_SRC scope issue

* fix: avoid warnings due to assembler statements from StdPeriph on arm64 native
2022-12-12 13:58:27 +10:00
raphaelcoefficandRaphael Coeffic 78f75c5656 chore: remove useless commented out defs 2022-12-10 13:37:31 +01:00
Raphael CoefficandRaphael Coeffic f881d7e11c PPM trainer output: update delay on each cycle 2022-12-10 13:37:31 +01:00
Raphael CoefficandRaphael Coeffic 2254d04643 Fix timer channels 2022-12-10 13:37:31 +01:00
Raphael CoefficandRaphael Coeffic 57842f1eb6 More fixes for F4 targets 2022-12-10 13:37:31 +01:00
Raphael CoefficandRaphael Coeffic 7dfda148d1 Fix X12S includes 2022-12-10 13:37:31 +01:00
Raphael CoefficandRaphael Coeffic 07db986d6a More cleanup 2022-12-10 13:37:31 +01:00
Raphael CoefficandRaphael Coeffic 931be07850 Fix F2 system file 2022-12-10 13:37:31 +01:00
Raphael CoefficandRaphael Coeffic 4b2c30db3c Finally removed StdPeriph EXTI driver 2022-12-10 13:37:31 +01:00
Raphael CoefficandRaphael Coeffic 5219dd606d fix(f2): F2 bootloader now requires HAL/LL as well. 2022-12-10 13:37:31 +01:00
Raphael CoefficandRaphael Coeffic 84d8075794 Generic EXTI driver now configures & enables trigger 2022-12-10 13:37:31 +01:00
Raphael CoefficandRaphael Coeffic ef147671ef Taranis: SBUS trainer driver for external module 2022-12-10 13:37:31 +01:00
Raphael CoefficandRaphael Coeffic 4eae312cff Taranis hal.h cleanup 2022-12-10 13:37:31 +01:00
Raphael CoefficandRaphael Coeffic 042d5091f2 HAL/LL: Generic EXTI & trainer driver
Changes:
- generic EXTI driver
- generic trainer driver
- relocated rotary encoder timer (simple 100us delay) from TIM4 to TIM12
- taranis & horus use now TIM4 for trainer pulses
- serial driver handles periph clocks for UARTs

TODO:
- SBUS on heartbeat pin (USART or soft-serial)
2022-12-10 13:37:31 +01:00
RistoandGitHub 1860233fb5 chore: Remove obsolete functions (#2826) 2022-12-07 20:28:41 +10:00
Malte LangermannandGitHub d134e1a840 chore: Fix a bunch of compile warnings (#2748)
* chore: fix warnings for simu and firmware, part 1

* chore: fix warnings
2022-12-05 20:41:42 +10:00
richardclliandGitHub 2ab1a9f725 fix(NV14/EL18): Reboot to charge screen if USB is plugged in at poweroff (#2731)
* Added reboot when detect USB is plugged.

* Fine tuned boardOff routine.
2022-11-16 20:14:26 +10:00
Raphael CoefficandGitHub f7d7ec2070 chore(hal): streamline rotary encoder definitions (#2550) 2022-11-15 19:13:54 +10:00
richardclliandGitHub 099e2adda9 fix(nv14;el18) Fix clicks when powering on, changing volumeStreamlined the SPI audio init of EL18. (#2730) 2022-11-15 12:25:56 +10:00
Raphael CoefficandGitHub 4071eacc92 fix(simu): rotencDt must be updated as well (#2676)
The acceleration calculation is relying on it to compute dx/dt.
2022-11-05 19:39:45 +10:00
a6168b40fb fix(nv14): Use PP for extmod invert output, remove redundant init (#2667)
* Use PP for extmod invert output and remove redundant pwn pin init.

* Reshuffled lines for increased readability

Co-authored-by: Risto <rotorman@users.noreply.github.com>
2022-11-03 21:11:04 +10:00
Raphael CoefficandGitHub b409c6ff92 fix(nv14/el18): external module RX inversion (#2647)
The previous state would set/reset `PE15` (unused) instead of `PI15` (connected to the inverter).
2022-10-31 20:58:16 +10:00
Raphael CoefficandGitHub e626a4e911 fix(sdcard): apply the same fix as #2517 to NV14 (#2641) 2022-10-31 09:17:37 +10:00
Raphael CoefficandGitHub 2067140552 fix(isrm): flashing internal ISRM module (#2596)
Fixes #1552
2022-10-19 21:13:48 +10:00
Raphael CoefficandGitHub ba713b6b8d feat: Further improve rotary encoder acceleration (#2584)
* Improve rotary encoder acceleration

Fixes #2417

* Further improvement

* Fix simu compilation
2022-10-19 20:36:29 +10:00
Raphael CoefficandGitHub 836954ee4b chore(adc): store constant structs in FLASH (#2551)
... not RAM.
2022-10-14 19:41:40 +10:00
richardclliandGitHub 5c555244d2 fix(NV14/EL18): Reduce LCD pixel clock to 1000000 (#2525) 2022-10-13 09:35:26 +10:00
Raphael CoefficandGitHub ffe4fe7e17 fix: clear internal module FIFO after DMA init (#2527)
Otherwise, NDTR will be 0 instead of [buffer size], and thus the read index will not be set to the correct value.
2022-10-13 09:33:51 +10:00
Raphael CoefficandGitHub 26b34a4820 fix(sdcard): use init marker in initialised BSS segment (#2517)
`g_FATFS_Obj` is located in `__DMA` section, which is not initialised, so that testing `sdMounted()` at boot relies on the fact that the bootloader linker script declares BSS in internal SRAM and not in CCM, as the firmware linker script does.
2022-10-12 12:51:09 +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
Peter FeerickandGitHub af45201f64 feat(cpn): iFlight Commando8 support (#2244)
* feat(cpn): Initial iFlight Commando8 support

* fix: Commando8 doesn't have trainer port

* feat: Add Simulator for iFlight Commando8
Also some minor code re-order for BetaFPV LR3PRO

* chore: EEPROM_VARIANT not used

* chore: Remove EEPROM bits that don't seem needed

* fix: Build simulator plugin

* fix: Simulator PGUP/PGDN the right way around

* fix: Keep trainer mode in cpn for MPM, etc
2022-10-10 12:59:28 +10:00