Commit Graph
100 Commits
Author SHA1 Message Date
raphaelcoeffic c089777bd0 fix(boxer): module size 2023-08-10 15:46:21 +02:00
raphaelcoeffic 032d581821 fix: scan all keys 2023-07-30 07:37:11 +02:00
raphaelcoefficandPeter Feerick d3c0193bc0 fix(nv14): activate trim as buttons in bootloader 2023-07-04 17:04:10 +10:00
raphaelcoefficandPeter Feerick 261c0213f3 fix: NV14 uses active-high for keys and trims 2023-07-04 17:04:10 +10:00
raphaelcoefficandMalte Langermann c15c5ea9eb fix: switch position if disabled or transitioning 2023-06-25 14:32:39 +02:00
raphaelcoefficandMalte Langermann ea27259d84 fix: 6POS read & calibrate 2023-06-25 14:32:39 +02:00
raphaelcoefficandMalte Langermann 6cf23dd5ee fix: mixer tests 2023-06-25 14:32:39 +02:00
raphaelcoefficandMalte Langermann 40e7d8c365 libopenui: align keys on stdlcd 2023-06-25 14:32:39 +02:00
raphaelcoefficandMalte Langermann 6617a5da64 fix: MIXSRC Heli & GVar 2023-06-25 14:32:39 +02:00
Raphael CoefficandMalte Langermann 2b100e0eb5 refact: ADC, switches and keys
Add "hardware_defs" target to dump hardware defines from hal.h per target

Fixed hal.h definitions for switches & ADC inputs

Tools to generate hardware definitions from current hal.h

generator: add support for EXTx and analog switches

WiP

Add generated header to hardware_defs target

Add support for ADC input direction and index per GPIO port

Incredible: it compiles

Removed StdPeriph ADC driver

Works on QX7

Works on TX16S (VBat missing)

Switch driver using generated switches for stm32 targets

Switch driver with generated switches for simu

Use switch names from switch driver

Fixed single conversion handling

Fixed horus VBat reading

Added switch name

Fix warnings about bitfield offsets and GCC 4.4

This is caused by bitfields that cross type boundaries. In this particular case, it happens as the bitfield is not defined the same in `rtc_backup.cpp`.

Switches has already been moved to generic driver

Jitter measurement for each sample, not just for oversampled values

Moved periph clock init to the ADC driver

ADC & GPIOs.

Add switchInit() to init pins

Fix NV14 CMake

Fix taranis target

Fix NV14 (again)

Model audio files: use new interface for switch index

Fix X9-lite

Fix simu headers

Fix getSwitchName()

Add support for ADC switches

Fix switch warning YAML

Test only switches which are defined

Conversions tests for QX7 only on QX7

Fix X12S

Fix function switch names

Enable ADC periph clock before initialising channels

NV14: offset inputs for the sticks & fix switches

WiP: get rid of VSRCRAW and some more

Simu shall use normal ADC driver

fix x7

fix nv14

Fix 9x nav

fix 212x64

fix xlite

fix x9e

fix simu lib

fix unit tests

fix x7 tests

PWM stick values should be written directly into adcValues

... just like FlySky sticks.

fix x12s

fix nv14

Add some support for SPI ADC (only unit tests)

Remove `jq` usage

fix generate_yaml.py for newer libclang

fix pot config

fix stick names

Some YAML generator improvements

Max 16 Pots on COLORLCD

Fix some source names

Use 10 bits for switches to prevent overflow

Removed horus constants for switches & ADC inputs

Fix unit tests

Fix curve edit

Fix libsimulator

Fix function switches (tpro)

Refine ADC & analog API

Moved hardware definitions scripts and templates into own dir

cleanup API refine

Fix unit tests

Mixer: apply calibration only on required inputs

Place ADC switches after all other ADC inputs

Fix X12S

Remove useless TR_POTS_VSRCRAW, TR_SW_VSRCRAW, and TR_VSRCRAW

Cleanup redundant generated YAML parsers

Fixes Boxer rebase

Add boxer to generate-hw-defs.sh

Obsolete LUA exports

Add boxer ADC_DIRECTION

Split generate_hw_defs.py into multiple files

Some cleanup (+ LUA switches)

Fix AXIS definitions

Fixed translation strings declarations

Some rebase fixes

Remove some useless StdPeriph drivers

fix: set pin mode to reset state on usart deinit

fix: use canonical names for calibration data

fix: ADC driver does not care about unconfigured inputs

fix X12S ADC

Add support for ADC conversion chaining

Better X12S ADC implem

Moved X12S ADC driver to HAL/LL

Improve ADC driver separation

Fixed taranis & nv14

Moved PWM gimbals to HAL/LL

Removed useless TR_EXTRA_VSRCRAW

Fixed include guards

Small fixes

Renamed control inputs

Moved internal and external module pulse driver def to boards

Move more things to the generic_stm32 board

Remove STR_VMIXTRIMS

Added analog labels

Generate main control names

Misuse labels / short labels for main controls

Backward compatibility: sliders and legacy names

New keys driver

Let's get rid of StdPeriph headers in simu

Add jinja2 to CI workflows

Use `grep` instead of `sed`

chore: add python jinja2 oto msys setup script

Removed more static definitions and use dynamic ones instead

Fixes X9E

Fix x7 nav too

212 switch display

Fix default sliders

Removed NUM_STICKS

212 switch display working nicely

Surface radio 'stick' replacements

fix: switch, trim & rotary pin init

Remove old key drivers

Removed VKEYS

Removed ETX_FOURCC

Fixed SURFACE_NAME

Removed TR_VSWITCHES & TR_TRIMS_SWITCHES

Fix xpot switches

Store calibrated analogs in physical order

Use getSourceString in drawSource

Implement missing YAML read/write

Fix isSourceAvailableInInputs()

Fix isSourceAvailable()

Some surface fixes

Fix CLI debug

Ported colour UI of analog diagnostics to new ADC API

Small fixes

Better input mapping

Minor tpro fixes

Fix trims available

Remove TX mode choice on surface radio

Rename surface controls

Channel order alignement

Fix throttle warning

Fix checkTrims()

Fix pot config casting issue

Fix IS_SWITCH_FS()

Fixed input mapping

Fix fswitch auto-switch

Fixed storing / reading function switches in YAML

Fix enableVBatBridge() / disableVBatBridge()

Fix interesting mode conversion

Fix sources issues

Fix special funnction list

Proper function switch handling

128 GUI improvements

Fix compilation

Boxer cosmetics

128 hardware screen cosmetic

Fix TX12 switches

More switches fixes

Simplify CPU type handling

Fix flash size

Fixed page-up / page-down in libopenui
2023-06-25 14:32:39 +02:00
raphaelcoeffic 53f172bb07 fix: possible endless loop in case some error flag is set but RXNE is not
Fixes #3482
2023-04-28 13:05:31 +02:00
raphaelcoeffic 66c0551076 fix: simu internal port module fake driver 2023-02-19 15:56:38 +01:00
raphaelcoeffic 426a6e965f fix: revert and fix logs & spacemouse
Check where deactivated in #3208
2023-02-18 18:59:27 +01: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
raphaelcoeffic 330e673826 fix(taranis): XJT internal module initialization 2022-12-29 10:25:29 +01: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
raphaelcoeffic 5a81a22514 fix(window): fix crash in case LVGL parent is NULL 2022-11-15 08:41:27 +01:00
Raphael Coeffic adab4dcd12 fix(color): check theme before accessing it
Fixes #2566
2022-10-16 11:42:01 +02:00
Raphael Coeffic 4255642e7d Fix menu toolbar PageUp/PageDown 2022-10-13 19:21:10 +02:00
Raphael CoefficandPeter Feerick 37159152b0 MenuToolbar: add resetFilter() 2022-10-03 12:41:59 +10:00
Raphael CoefficandPeter Feerick c41b1cb458 fix(Menu): handle negative selection index properly 2022-10-03 12:41:59 +10:00
Raphael CoefficandPeter Feerick d2676abc61 fix(Menu): properly reset selections when content is removed 2022-10-03 12:41:59 +10:00
Raphael CoefficandPeter Feerick ce9c5a302a fix(Menu): force into editing mode to fix behaviour with rotary encoder 2022-10-03 12:41:59 +10:00
Raphael CoefficandPeter Feerick d4661b66ea fix(MenuToolbar): resolve various focus/filtering issues
This allows for de-selecting filters with keys.
2022-10-03 12:41:59 +10:00
Raphael Coeffic 6fd69f8053 fix: volume controlled by I2C on taranis targets
This is essentially X9D(+) (NOT 2019) and X9E.
2022-09-28 10:00:56 +02:00
Raphael CoefficandPeter Feerick 41cfeee5b0 fix: pop-up dialog should not transmit key events to parent
Related #2182
2022-09-25 19:23:17 +10:00
Raphael CoefficandPeter Feerick e4fb5e43f4 fix: disable widget select mode when going full screen 2022-09-25 19:23:17 +10:00
Raphael Coeffic 2cb1e6fce7 dialog: prevent key events from being transmitted to parent 2022-09-25 09:09:53 +02:00
Raphael Coeffic e8f9f646e0 fix: prevent window trash processing in confirmationDialog()
Fixes "use after free" when confirmationDialog() is used in a menu handler.
2022-09-20 08:07:09 +02:00
Raphael Coeffic d6764ca0f8 fix: prevent out of bounds access if g_eeGeneral.templateSetup has an invalid value 2022-09-20 08:05:34 +02:00
Raphael Coeffic c3660ab931 fix(color): fullscreen widget exit when entered via keys
Related #2182
2022-09-17 09:40:13 +02:00
Raphael Coeffic c1f922ce14 chore(DynamicNumber): remove type argument warnings 2022-09-17 09:03:55 +02:00
Raphael CoefficandPeter Feerick 8725ade854 fix: simu LCD buffer pointer init to properly display splash image 2022-09-05 19:27:50 +10:00
Raphael CoefficandPeter Feerick 0d3b2c027b splash: force pixel format to RGB565 when loading the bitmap 2022-09-05 19:27:50 +10:00
Raphael Coeffic a79f00f675 fix(x9d): navigation in both directions using +/-
This issue was introduced in 62692dba6a.
2022-09-01 07:21:14 +02:00
Raphael CoefficandRaphael Coeffic a7335be7ec Re-added vertical 0-line for mixer monitors 2022-08-28 13:07:03 +02:00
Raphael CoefficandRaphael Coeffic 8769f49fd7 Fix mixer monitor appearance after page switch back and forth 2022-08-28 13:07:03 +02:00
Raphael CoefficandRaphael Coeffic 731d1834e3 More compact views for inputs, mixers and outputs 2022-08-28 13:07:03 +02:00
Raphael CoefficandPeter Feerick 3eaeb911e8 fix: set screen setup tab corresponding to current main view 2022-08-24 13:11:01 +10:00
Raphael CoefficandPeter Feerick 6b7b22e660 fix: save and load main view ID 2022-08-24 13:11:01 +10:00
Raphael CoefficandPeter Feerick 0e8f4e55b1 fix: custom curves corruption
Fixes #2204
2022-08-24 12:55:26 +10:00
Raphael CoefficandPeter Feerick df1a146977 chore: make NOHELI the default 2022-08-23 20:37:06 +10:00
Raphael CoefficandPeter Feerick 2dee0e7b68 fix(cpn): revert macOS runner to Python 3.9 2022-08-23 20:33:41 +10:00
Raphael Coeffic 10e1982b23 Form field: re-implemented enable/disable 2022-08-22 09:04:27 +02:00
Raphael CoefficandPeter Feerick 5779675d2b Remove useless EEPROM_VARIANT 2022-08-20 10:59:50 +10:00
Raphael CoefficandPeter Feerick 2c4533ddbd textedit: extra_chars has been removed 2022-08-18 12:38:35 +10:00
Raphael CoefficandPeter Feerick 00630277a8 Re-add receiver ID
Fixes #2146
2022-08-18 12:38:35 +10:00
Raphael CoefficandPeter Feerick e6dc23b77f Module setup improvements 2022-08-18 12:38:35 +10:00
Raphael CoefficandPeter Feerick 647d19bbc9 Fix access settings pop-ups 2022-08-18 12:38:35 +10:00
Raphael CoefficandPeter Feerick 84f402569f textedit: simplified implementation 2022-08-18 12:12:02 +10:00
Raphael CoefficandPeter Feerick 7ab53f757f window: clear lvobj before deleting it 2022-08-18 12:12:02 +10:00
Raphael CoefficandRaphael Coeffic c41de594a5 Disable RX DMA for T-lite & T-pro as gets random errors on passthrough 2022-08-11 12:15:46 +02:00
Raphael CoefficandRaphael Coeffic c56b62bd1d Fix passthrough baudrate detection 2022-08-11 12:15:46 +02:00
Raphael CoefficandRaphael Coeffic 4e08e8f6ad Fix UART context in serial passthrough 2022-08-11 12:15:46 +02:00
Raphael CoefficandRaphael Coeffic 2b7e5f04fa Fix model ID weirdness 2022-08-11 12:15:46 +02:00
Raphael CoefficandRaphael Coeffic 3d3bc64d30 Fixed AFHDS2 define 2022-08-11 12:15:46 +02:00
Raphael CoefficandRaphael Coeffic e31e3bb8be Fix PXX2 telemetry 2022-08-11 12:15:46 +02:00
Raphael CoefficandRaphael Coeffic df0d115a72 Fix PXX2 authentication support 2022-08-11 12:15:46 +02:00
Raphael CoefficandRaphael Coeffic 4cecdc0cae PXX2: fix CRC check and frame end 2022-08-11 12:15:46 +02:00
Raphael CoefficandRaphael Coeffic b620f6dc79 Enable RX DMA on some taranis targets 2022-08-11 12:15:46 +02:00
Raphael CoefficandRaphael Coeffic 267fa84f3f WiP: better restartModule() 2022-08-11 12:15:46 +02:00
Raphael CoefficandRaphael Coeffic f51f0c1aa8 Disable PWR_FIX for EL18
The pin is connected to the battery voltage and is meant to be used as ADC pin.
2022-08-11 12:15:46 +02:00
Raphael CoefficandRaphael Coeffic 796433b7f6 Fixed telemetry input for FlySky iBUS sensors 2022-08-11 12:15:46 +02:00
Raphael CoefficandRaphael Coeffic b9b31a659f Fix NV14 simulation 2022-08-11 12:15:46 +02:00
Raphael CoefficandRaphael Coeffic 66e08da1b8 Fixes for targets without external module 2022-08-11 12:15:46 +02:00
Raphael CoefficandRaphael Coeffic 56eb564b86 Detect NV14 vs EL18 at boot 2022-08-11 12:15:46 +02:00
Raphael CoefficandRaphael Coeffic e8d82348e0 MPM proto scan: fix RfScanDialog 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 c413790892 Horus targets: use RX DMA with internal module 2022-08-11 12:15:46 +02:00
Raphael CoefficandRaphael Coeffic 246840f065 Moved telemetry processing to module interface 2022-08-11 12:15:46 +02:00
Raphael CoefficandRaphael Coeffic 39c61408e7 AFHDS3: Model ID & fixed model switch 2022-08-11 12:15:46 +02:00
Raphael CoefficandRaphael Coeffic dec73c5fb1 Fixed DMA fifo clear() 2022-08-11 12:15:46 +02:00
Raphael CoefficandRaphael Coeffic 4eeef9e916 Fixed LCD driver (no copy necessary) 2022-08-11 12:15:46 +02:00
Raphael CoefficandRaphael Coeffic bea7e4ec13 AFHDS3: better layer separation (transport / protocol logic) 2022-08-11 12:15:46 +02:00
Raphael CoefficandRaphael Coeffic f75cb3f97d Disable AFHDS3 by default on B&W targets 2022-08-11 12:15:46 +02:00
Raphael CoefficandRaphael Coeffic bb6c6d6e2d WiP PoC AFHDS3 internal module 2022-08-11 12:15:46 +02:00
Raphael CoefficandRaphael Coeffic 5132e11d41 Add some support for RX DMA on internal module 2022-08-11 12:15:46 +02:00
Raphael CoefficandRaphael Coeffic db73e4cd87 Move AFHDS3 to new module interface 2022-08-11 12:15:46 +02:00
Raphael CoefficandRaphael Coeffic 1a918bf072 Improve NV14 CMake 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 ab6033e4d5 Use static string 2022-08-11 12:15:46 +02:00
Raphael CoefficandRaphael Coeffic 99673224bf FlySky UI fixes 2022-08-11 12:15:46 +02:00
Raphael Coeffic 9767b4baf1 textedit: removed useless code and added update() 2022-08-06 08:43:35 +02:00
Raphael Coeffic aecc5104f8 Update libopenui
Fixes issue with NumberEdit not editable via keys
2022-08-01 11:23:10 +02:00
Raphael Coeffic 9c4a0d78a9 number edit: install call back regardless of _getValue 2022-08-01 11:22:00 +02: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 Coeffic b0b24a716e Use defined explicit DynamicNumber implementation
Resolves #2115
2022-07-04 15:38:53 +02:00
Raphael Coeffic dae1c77f47 fix(t-lite): internal module on targets without TX DMA was not sending at all 2022-07-04 12:35:03 +02:00