Commit Graph
100 Commits
Author SHA1 Message Date
Raphael CoefficandGitHub 3d8854abdf feat: linker support for firmware in external flash (#5290) 2024-07-26 21:34:43 +10:00
Raphael CoefficandGitHub e9a2b7e31c fix: do not init the watchdog in flash driver (#5321) 2024-07-25 18:27:59 +10:00
061f39fd79 fix: CRSF frame parsing (#5243)
Co-authored-by: LupusTheCanine <tymoteusz.2000.0+GitHub@gmail.com>
2024-07-22 09:13:04 +10:00
Raphael CoefficandGitHub be3b461af1 fix: I2C support for H7 (#5302) 2024-07-18 12:59:57 +10:00
Raphael CoefficandGitHub 3430f3de55 chore: delays driver cleanup (#5295) 2024-07-18 11:45:56 +10:00
raphaelcoeffic ddc69a590c format: no tabs, only spaces 2024-07-15 07:59:51 +02:00
c7bc9f01c9 fix(h7): various build fixes (#5283)
Co-authored-by: raphaelcoeffic <1050031+raphaelcoeffic@users.noreply.github.com>
2024-07-11 11:28:49 +02:00
170bdebcc4 fix: data width must be set before enabling SPI (#5279)
Co-authored-by: raphaelcoeffic <1050031+raphaelcoeffic@users.noreply.github.com>
2024-07-11 11:27:38 +02:00
d0791fa0c2 chores: touch init in board (#5284)
Co-authored-by: raphaelcoeffic <1050031+raphaelcoeffic@users.noreply.github.com>
2024-07-11 10:57:10 +02:00
Raphael CoefficandGitHub b630982b20 fix: SDIO issues after H7 support (#5260) 2024-07-10 11:59:50 +10:00
Raphael CoefficandGitHub 9518dca3f9 feat: telemetry buffer for all internal modules (#5267) 2024-07-08 21:41:43 +10:00
Raphael CoefficandGitHub 6e531849e5 fix: nullptr access on empty storage (#5264) 2024-07-08 08:18:02 +10:00
Raphael CoefficandGitHub d575242c0f refactor: bootloader & cmake cleanup (#5232) 2024-07-07 21:06:59 +10:00
b71d2a0228 feat: generic I2C and PCA95xx driver (#5233)
Co-authored-by: Peter Feerick <peter.feerick@gmail.com>
2024-07-06 21:45:41 +10:00
6f8a5313d5 feat: basic H7 support (#5228)
Co-authored-by: Malte Langermann <malte@langermann.net>
Co-authored-by: 3djc <3djc@gh.com>
Co-authored-by: raphaelcoeffic <1050031+raphaelcoeffic@users.noreply.github.com>
Co-authored-by: Richard Li <richard.li@ces.hk>
2024-07-05 19:28:44 +10:00
Raphael CoefficandGitHub 2110f1b938 fix: Commando8 does not need the startup animation (#5245) 2024-07-05 09:59:45 +10:00
Raphael CoefficandGitHub 99d0c673b4 fix: NV14/EL18 S.PORT TX DMA handler (#5240) 2024-07-02 18:12:05 +10:00
Raphael CoefficandGitHub 0aee0dd60f fix: supported internal module for monochrome radios w/ ISRM (#5236) 2024-07-01 18:31:46 +10:00
Raphael CoefficandGitHub 61a52b8c38 fix: check both SBUS trainer ports (#5149)
.. regardless of TRAINER_MODULE_SBUS_USART define
2024-06-11 09:51:22 +10:00
Raphael CoefficandGitHub 3bc42e4538 chores: update LZ4 (#5102) 2024-06-02 19:53:51 +10:00
Raphael CoefficandGitHub 0399858a76 perf(color): reduce bootloader size (#5068) 2024-06-02 16:07:00 +10:00
Raphael CoefficandGitHub d6c6ea1f23 fix: compilation without audio or modules (#5103) 2024-06-02 15:31:11 +10:00
Raphael CoefficandGitHub 3fe1090b33 fix(f2): system clock initialisation (#5097) 2024-06-02 08:29:56 +10:00
6579905088 chore(hal): remove StdPeriph (#5023)
Co-authored-by: raphaelcoeffic <1050031+raphaelcoeffic@users.noreply.github.com>
Co-authored-by: Malte Langermann <malte@langermann.net>
Co-authored-by: 3djc <3djc@gh.com>
Co-authored-by: Richard Li <richard.li@ces.hk>
2024-06-01 11:45:40 +10:00
Raphael CoefficandGitHub b8a0038c68 fix(fw): enable SYSCFG clock before using EXTI (#5020) 2024-05-25 10:22:50 +10:00
Raphael CoefficandGitHub 390c71cd44 fix(trainer): use the timer passed as argument (#5019) 2024-05-25 10:20:30 +10:00
Raphael CoefficandGitHub dbe40509dc fix(fw): compilation without power switch (#5021) 2024-05-18 14:20:44 +10:00
Raphael CoefficandGitHub 6a59c580ef fix(fw): compilation without AUDIO (#5022) 2024-05-18 14:11:20 +10:00
0d6ce7d22d fix(yaml): flex switch warnings (#4949)
Co-authored-by: raphaelcoeffic <1050031+raphaelcoeffic@users.noreply.github.com>
Co-authored-by: 3djc <3djc@gh.com>
Co-authored-by: elecpower <neilh713@tpg.com.au>
2024-05-03 13:14:50 +10:00
raphaelcoefficandPeter Feerick 2d4c1acbfb fix(usb): use usbPlugged() to detect disconnect
`cdcConnected` is updated from the UI task and cannot be used here.

Fixes #4740
2024-03-30 10:16:40 +11:00
raphaelcoefficandPeter Feerick 06c09579fd fix(usb): do not wait for send state
Fixes #4731
2024-03-30 10:16:40 +11:00
fa12b27438 feat(radio): Discover SBUS trainer availability (#4266)
Co-authored-by: raphaelcoeffic <1050031+raphaelcoeffic@users.noreply.github.com>
Co-authored-by: Peter Feerick <peter.feerick@gmail.com>
2024-01-05 11:48:46 +10:00
Raphael CoefficandGitHub 317766dab7 fix(lua): Re-implement luaSetSerialBaudrate (#4501) 2024-01-03 13:29:02 +10:00
Raphael CoefficandGitHub 6c79bcfd6d fix(sdio): Check card state after each block written (#4500) 2024-01-02 07:18:08 +10:00
Raphael CoefficandGitHub 685e9ec5bc fix(vs1053b): Remove EarSpeaker Spatial Processing (#4492) 2024-01-01 07:41:58 +10:00
Raphael CoefficandGitHub 6b1256db66 chores(lua): Generate keys definitions (#3923) 2023-12-20 21:28:40 +10:00
Raphael CoefficandGitHub de0379c2c2 fix(bw): Restart from bootloader on F4 targets (#4434) 2023-12-20 10:45:19 +10:00
Raphael CoefficandGitHub 26b0581247 fix(soft-serial): Timer toggle mode would skip first period (#4432) 2023-12-19 09:39:38 +10:00
42e245b1da chore: Use CMake way for linker options (#4396)
Co-authored-by: Richard Li <richard.li@ces.hk>
2023-12-14 09:12:31 +10:00
Raphael CoefficandGitHub b66e8220c3 chore: Improve finding Homebrew's Qt5 on macOS (#4291) 2023-12-13 20:28:54 +10:00
Raphael CoefficandGitHub 5153aaeea0 refactor: IWDG driver and EM trigger (#3846) 2023-12-04 07:14:25 +10:00
Raphael CoefficandGitHub 0e7fe7f143 fix(yaml): Properly escape double quotes (#3965) 2023-11-13 09:34:44 +10:00
Raphael CoefficandGitHub f0b0c3d906 fix(lua): Legacy input names (#4310) 2023-11-13 08:28:38 +10:00
raphaelcoeffic 1f06a3074d fix: peripheral clock for TIM13
This prevented the mixer scheduler to work properly on `horus` targets, which is the only one using `TIM13`.
2023-11-11 13:03:23 +01:00
Raphael CoefficandGitHub 373bb33f4b chore: Remove some bloat, reduce firmware size (#4288) 2023-11-08 22:05:54 +10:00
Raphael CoefficandGitHub 6eef2540ff refactor(mixer): Improve mixer "delay" option (#4256) 2023-11-07 10:50:41 +10:00
ca5355e0c7 feat: Add support for Radiomaster MT12 (#4277)
Co-authored-by: 3djc <lesitewebdejc@hotmail.com>
Co-authored-by: raphaelcoeffic <1050031+raphaelcoeffic@users.noreply.github.com>
Co-authored-by: Peter Feerick <peter.feerick@gmail.com>
2023-11-04 18:18:17 +10:00
b48e07026d feat: More flexible ADC inputs (#3870)
Co-authored-by: 3djc <lesitewebdejc@hotmail.com>
Co-authored-by: Peter Feerick <peter.feerick@gmail.com>
Co-authored-by: philmoz <phil.a.mitchell@gmail.com>
2023-11-02 11:07:53 +10:00
Raphael CoefficandGitHub d5989ec479 fix(cpn): Prevent googletest installation (#4265) 2023-10-30 20:11:01 +10:00
Raphael CoefficandGitHub b0267573b0 fix(stdlcd): Model copy going to wrong slot, refresh model headers (#4261) 2023-10-29 11:23:14 +10:00
Raphael CoefficandGitHub 44981ad1f5 chores: Fetch googletest via CMake (#4252) 2023-10-27 19:26:22 +10:00
c93695eeaa perf: Process CRSF telemetry by frame (#4038)
Co-authored-by: 3djc <lesitewebdejc@hotmail.com>
Co-authored-by: Peter Feerick <peter.feerick@gmail.com>
2023-10-19 13:31:30 +10:00
Raphael CoefficandGitHub 6d3aa573d4 fix(yaml): Do not limit to static MPM protocol definitions (#4146) 2023-10-18 19:24:21 +10:00
Raphael CoefficandGitHub a49c170193 fix: Enforce switch & pot ranges (#4204) 2023-10-16 18:40:38 +10:00
Raphael CoefficandGitHub ee9d50dca4 fix: Incorrect MPM module status (#4198) 2023-10-15 16:27:38 +10:00
b22a1b5d32 feat: Support for WS2812 RGB LEDs (#3909)
Co-authored-by: 3djc <lesitewebdejc@hotmail.com>
2023-10-14 14:06:55 +10:00
cb16786a74 feat: SPI flash driver (#4012)
Co-authored-by: Richard Li <richard.li@ces.hk>
2023-10-13 19:51:11 +10:00
Raphael CoefficandGitHub ff2b3ac22a fix: Internal PXX exclusive S.PORT (#3822) 2023-10-13 09:48:32 +10:00
Raphael CoefficandGitHub 3cbcc6b7bf feat: Automatic soft-serial fallback for module ports (#3823) 2023-10-07 12:23:51 +10:00
Raphael CoefficandGitHub f12f10dd5e fix: USB MSD eject (#4158) 2023-10-04 08:19:05 +02:00
Raphael CoefficandGitHub 00cb9c48df refactor: Notify module driver on config changes (#3780) 2023-10-01 15:19:17 +10:00
Raphael CoefficandGitHub c0744f2af3 perf: Use FreeRTOS mutex instead of binary semaphore (#3935) 2023-10-01 11:54:27 +10:00
9b0d3a25c4 fix: Align BT defines for Zorro on other radios (#4117)
Co-authored-by: Peter Feerick <peter.feerick@gmail.com>
2023-09-27 17:00:44 +10:00
74ed83a921 fix: ifdef closure typo in some translations (#4113)
Co-authored-by: Richard Li <richard.li@ces.hk>
2023-09-27 09:56:40 +10:00
Raphael CoefficandGitHub 6abd4263a4 feat: better microsecond timer (#4112) 2023-09-26 18:30:55 +02:00
Raphael CoefficandGitHub 1cc1810afc fix: VS1053b initialisation on NV14/EL18 (#4108) 2023-09-25 09:47:15 +02:00
Raphael CoefficandGitHub 66b9bdd3e4 fix: ADC DMA clock enable and inhibit mask for internal channels (#4103) 2023-09-24 19:27:06 +02:00
47ff7284fd fix(radio): Better iteration through mixers on display, sanitize invalid sources (#3999)
* fix: mixer lines with empty source

Fixes #3367

* Fix color mixes display.

---------

Co-authored-by: Phil Mitchell <phil.a.mitchell@gmail.com>
2023-09-24 15:51:18 +10:00
Raphael CoefficandGitHub 87df8a4f2c refactor: SD card SPI HAL (#3957)
* refactor: SD card SPI driver

* Removed SPI and DMA StdPeriph drivers

* Allow for disabling SPI DMA support

* Disable SPI sdcard CRC support

* Fix 2MHz timer on NV14

* Shared VS1053b driver

* Fix: SPI2 uses PCLK1

* feat: new generic diskio API

* More generic SD_CARD_PRESENT()

* Fixes

* Flush incoming block on token mismatch

* Scratch buffer test

* Incredible hack to re-sync sd card

* fix: SDIO driver
2023-09-23 19:31:56 +10:00
Raphael CoefficandGitHub 60ccd852e3 fix: Prevent enabling USART IRQ if not supported (#4086)
Fixes #4073
2023-09-23 14:45:15 +10:00
Raphael CoefficandGitHub ce03cbf651 fix: yaml generator for clang 15 and up (#4076)
* fix(yaml): use find_clang as for datacopy

* fix: use library path provided by clang python package first

* fix: anonymous structs and unions

* fix: typedefd struct attributes
2023-09-21 15:17:42 +02:00
Raphael CoefficandGitHub 4d148e5c0c fix(radio): Use SWRC_NONE if switch cannot be found (#4005) 2023-09-21 19:25:46 +10:00
Raphael CoefficandGitHub 99f4e4816b fix: iXJT firmware update (#4068) 2023-09-20 05:48:04 +02:00
Raphael CoefficandPeter Feerick c758e80cb8 fix: T18 has no power switch on AUX2 (#4035) 2023-09-20 11:13:39 +10:00
c4f1e7127d chores(flysky): Separate AFHDS2A and AFHDS3 into 2 different module type (#3783)
* chores(flysky): separate AFHDS2A and AFHDS3 into 2 different module type

This should allow to remove some of the hacks added earlier.

* chore: Add some EL18 CI bits

* fix(afhds): cmake defs

* fix(ci): add el18 to commit-tests.sh

* chore(cpn): separate AFHDS2A and AFHDS3

* chore(cpn): remove binary import of afhds and legacy fxFreq field for afhds3

* fix(cpn): limit available internal afhds protocols to those supported by hardware

* chore(cpn): update Flysky int module test

* fix(cpn): compile error

* fix(cpn): afhds2a max channels

* fix: TR_MODULE_PROTOCOLS

* enh(cpn): more support for afhds2a and 3

* fix(cpn): rebase compile error

* fix(cpn): bit indexes

* fix(cpn): emi toString

* fix(cpn): limit available internal afhds protocols to those supported by hardware

* enh(cpn): add support for Flysky EL18

* fix(cpn): available protocols

* fix(cpn): rebase moduledata

* chore(cpn): add module fields to model print

* Separate AFHDS2A and AFHDS3 UI settings.

* Fix AFHDS3 conversion from old subtype value.
Fix 'Channel Range' layout on portrait LCD.

* Fix name.

---------

Co-authored-by: Peter Feerick <peter.feerick@gmail.com>
Co-authored-by: elecpower <neilh713@tpg.com.au>
Co-authored-by: Phil Mitchell <phil.a.mitchell@gmail.com>
2023-09-07 19:24:03 +10:00
8be8b51813 feat: Surface mode improvements (#3908)
* feat: surface mode improvements

* fix: surface trim display

* fix: HE missing conditional TR_FM

* fix: Also CN,JP & TW for completeness

Co-authored-by: 3djc <lesitewebdejc@hotmail.com>
Co-authored-by: Peter Feerick <peter.feerick@gmail.com>
2023-09-04 14:08:35 +10:00
Raphael CoefficandGitHub e99980f1bf fix(x12s): init periph clocks in ads79xx driver (#3810) 2023-08-08 10:07:07 +10:00
Raphael CoefficandGitHub 017ac82d59 fix: race condition on mixer task handle (#3914)
PR #3451 moved the start of the mixer task to a point in time where the task scheduler is already started (UI task). Before that change, the mixer task would be created before and effectively started after the task scheduler started.

This introduces a race condition on `mixerTaskId.rtos_handle`, as the mixer scheduler might trigger before `xTaskCreateStatic()` returns and the task handle is assigned.

This PR fixes the issue by delaying the start of the mixer scheduler until `xTaskCreateStatic()` returned and the task handler has been properly assigned.
2023-08-07 13:34:38 +02:00
Raphael CoefficandGitHub c0df9e9c44 fix: only SHIFT should not trigger repeated events (#3896)
When pressed continously
2023-08-03 20:49:20 +10:00
Raphael CoefficandGitHub 1912697616 fix: Throttle invert and gimbal dead zone (#3864) 2023-07-30 21:37:21 +10:00
Raphael CoefficandGitHub 574369aca4 fix: Use keysGetMaxTrims() instead of MAX_TRIMS (#3860)
* fix: use keysGetMaxTrims() instead of MAX_TRIMS

* feat: add support for virtual trims

This is necessary for radios like X-lite where half of the trims are simulated
2023-07-30 14:18:58 +10:00
Raphael CoefficandGitHub 76423370cd fix(lua): Add missing switch constants (#3803) 2023-07-30 14:03:35 +10:00
Raphael CoefficandGitHub 9f12025d11 fix: pot types strings (#3863)
Fixes #3858
2023-07-28 18:15:24 +10:00
Raphael CoefficandGitHub 1b844d97a7 fix(x-lite): ADC channel definition (#3857)
- make definitions consistent between `ADC_GPIO_PIN_STICK_XX` and `ADC_CHANNEL_STICK_XX`
- fixed `STICK_PWM_CHANNEL_XX` definitions
2023-07-28 17:13:12 +10:00
Raphael CoefficandGitHub 51b4341e82 fix(el18): Switch ADC channel and direction (#3779) 2023-07-25 16:06:56 +10:00
Raphael CoefficandGitHub 179c677427 fix(flysky gimbals): mask first 4 channels when FS gimbals are detected (#3778)
* fix(flysky gimbals): mask first 4 channels when FS gimbals are detected.
* re-adjust center value to 4096 (2^12).This prevents values higher than necessary being displayed.
2023-07-17 17:53:32 +02:00
Raphael CoefficandGitHub 6a8141f859 chore: JSON Python generator docs (#3775) 2023-07-14 14:57:37 +10:00
Raphael CoefficandGitHub 1bb27e7011 fix: PWM gimbals initialisation and inversion (#3745)
* fix: PWM gimbals initialisation and inversion

* feat: add periph clock support in PWM stick driver
2023-07-14 14:54:32 +10:00
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
Raphael CoefficandGitHub 99da364eaf fix: explicitly locate .data segment in FLASH (#3556)
Rather than using `_sidata` marker.
2023-05-02 09:20:43 +10:00
Raphael CoefficandGitHub 438fd0bd73 chore: add basic stuff for LSP (clangd) (#3516)
* chore: add basic stuff for LSP (clangd)

* Newline
2023-04-24 16:52:31 +10:00
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 8560c1f6bf fix: x10 Express boot freeze and bluetooth lockup (#3349)
* Fix attempt for boot issue

* fix: reset BT usart context after de-init
2023-03-26 11:07:56 +10:00
Raphael CoefficandGitHub d0b95e0a5b fix(pxx1): Pulse length should be 8us (#3231) 2023-03-26 10:27:05 +10:00
Raphael CoefficandGitHub bf23791fdf fix: Various issues related to IMU sensor (#3171)
* fix(imu): reset error counter on successful IMU query

Please note that the HAL already handles busy I2C bus, so that we should not run into the case where the bus is used and another query is started. However, if that happens, HAL_BUSY will be returned, which leads to -1 being returned in our functions, thus increasing the error count until the sensor stops working.

* fix(imu): move imu init into mixer task

Fixes a race condition between init and use.
2023-02-15 16:05:39 +10:00
3695930242 fix: Sort mixer lines after loading model (#3172)
* fix: sort mixer lines after loading model

Fixes #2806

* fix(cpn): sort mixer lines after loading model

* More efficient swap

---------

Co-authored-by: elecpower <neilh713@tpg.com.au>
2023-02-15 15:11:13 +10:00
Raphael CoefficandGitHub d57afea89e chore: Remove unused files (#3191) 2023-02-15 13:10:14 +10:00
Raphael CoefficandGitHub 5f17156036 fix(b&w): Missing STRT timer labels (#3173) 2023-02-14 12:05:39 +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