Commit Graph
53 Commits
Author SHA1 Message Date
helloradioskyandGitHub 2a1d4b20bb fix(v16): I2C conflicts in sensors reading (#6385) 2025-07-25 10:51:44 +10:00
Raphael CoefficandGitHub ab2a19e153 feat(radio): OS compatibility layer (#5840) 2025-05-03 19:07:49 +10:00
Peter FeerickandGitHub 839cfbd53c chore: more OTX to ETX housekeeping (#5396) 2024-08-14 21:02:29 +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
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
3djcandGitHub 1791bbd354 chore: Move gt911 touch to generic EXTI driver (#3797)
* Move gt911 touch to generic EXTI driver

* Further cleaning

* chore: further cleaning
2023-07-14 18:04:54 +10: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
Raphael CoefficandGitHub 78e99311c8 feat(GT911): Add CLI command to reset touch panel cfg (#2351)
* GT911: add CLI command to reset config

Related to #2063

* X12S: touch coordinate inversion in GT911 config

Note: config reset with CLI "reset_gt911" required.

* Remove touch sensor software inversion
2022-09-25 20:27:22 +10:00
Raphael CoefficandRaphael Coeffic 1f8072374c x12s: move touch panel inversion to LVGL driver 2022-06-25 16:09:04 +02:00
Raphael CoefficandRaphael Coeffic f8d1e4143b GT911: enable SYSCFG peripheral clock before using EXTI. 2022-06-25 16:09:04 +02:00
Raphael CoefficandRaphael Coeffic 7cb2973248 gt911: enable clocks in driver 2022-06-25 16:09:04 +02:00
Raphael CoefficandRaphael Coeffic bc6c53681c Move Horus GT911 driver to HAL 2022-06-25 16:09:04 +02:00
WilhelmandGitHub 7a6d6239b5 feat(X12S): Add support for touch screen mod (#1779)
Adds support of RadioMaster TX16S touch screen on FrSky X12S radio.
2022-04-23 12:22:47 +02:00
88a4458cfe fix: Resolve some issues with touch TE_SLIDE_END, and tapCount on NV14 (#1434)
* move TE_SLIDE_END handling for slide inertia to libopenui
reset tapCount on TE_SLIDE_END on NV14

* Bump libopenui

Co-authored-by: Peter Feerick <peter.feerick@gmail.com>
2022-01-21 20:29:18 +10:00
Malte LangermannandGitHub 9e285b3cb2 [touch] Fix hardware touch diagnostics regression (#1314)
* fix touch screen test in analog input test screen

* remove #if SIMU check for touch test

* remove unneeded trace
2021-12-30 11:46:10 +10:00
gagarinlgandPeter Feerick 22112de372 fix touch slide deltaX/deltaY not resetting 2021-11-22 11:44:12 +10:00
gagarinlgandPeter Feerick 8360434516 touch on/off with backlight on/off is now working for TX16s, untested, but implemented for NV14
simulator for tX16s and NV14 works
2021-11-16 11:21:04 +10:00
gagarinlgandPeter Feerick ced9df9510 started implementing backlight tracking (unfinished)
horus touch driver internally tracks touch state and returns the state on read to make in independed of the mainwindow touchState
2021-11-16 11:21:04 +10: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
jfrickmann b1ac01501d Add tapCount to touchState in gt911 driver 2021-09-10 17:11:55 -04:00
rotorman d19dcb9fc9 Unified dual I2C naming across Taranis and Horus builds.
Using "*_B1_*" for first logical I2C bus and "*_B2_*" for second logical I2C bus (instead of less clear I2C and I2CX).
2021-08-21 15:59:19 +02:00
rotorman b123caba06 Adds support of LSM6DS33 I2C IMU to TX16S via AUX1 port. Using CMake option -DIMU_LSM6DS33=YES the std. serial USART3/AUX1 functionality is changed to I2C2 bus.
The temperature, gyro and linear acceleration values of LSM6DS33 are sampled and displayed at radio analogs dialog screen in SI-units.
2021-08-21 15:08:50 +02:00
rotorman ef08fc019f Incremented GT911 configuration with +1 and stopped writing it to GT911 on init/start if the same version has already been flashed to GT911 (as previously). 2021-07-18 11:32:14 +02:00
rotorman 5f0bac3dc9 Rewrore STM32F4 HAL_I2C_MspDeInit to not call HAL_GPIO_DeInit(), but only disable I2C GPIO with GPIO_Init(). 2021-07-16 18:40:52 +02:00
rotorman b86745d8f4 Clear ADDR bit in atomic way. Not in original STM32F4 HAL.
Lower timeouts to more reasonable values.
2021-07-15 22:41:12 +02:00
rotorman 2ca5cc771c Added De-Init and Re-Init (in case this is ever required). 2021-07-15 21:34:20 +02:00
rotorman 8bfbb723f3 Integrated STM32F4 I2C HAL functions.
Changed old "I2C_SPEED" to "I2C_CLK_RATE" in order not to conflict with HAL.
Use TOUCH_INT again to gate touch sampling.
2021-07-15 19:25:31 +02:00
Raphael Coeffic 068c1a0f11 Renamed "hiccups" to "TSI2CEvents"
And use uint32_t for counting them.
2021-07-12 08:58:54 +02:00
Raphael Coeffic 52acfcd20d Quick & dirty polling mode (don't care about INT line) 2021-07-11 17:43:31 +02:00
Raphael Coeffic 49ae57d370 Take account of some corner cases in I2C multi-byte read
See https://github.com/geoffreymbrown/STM32-Template/blob/master/Library/i2c.c#L39 and RM0090 p851-853.
2021-07-11 14:30:43 +02:00
rotormanandRaphael Coeffic 8c7f3cecec * removed red LED
* added GT911 fw version and hiccup cound output to analogs page
* changed I2C to 400 kHz
* changed X Y threshold to 1
* added trace output
* fixed bool / uint8_t errors
2021-07-11 13:04:13 +02:00
rotormanandRaphael Coeffic 2c65b21355 Based on PR #408 ff34616 that according to @rcvideoreviews on Discord works.
Added:
* @olliw42 PR #415 STOP condition fix.
* @raphaelcoeffic EXTI_Trigger_Rising
* fixed some uint8_t bool confusions
* added volatile to touchEventOccured that is set from ISR and accessed from main code
* changed to upload GT911 config also if config version is the same
2021-07-11 13:04:13 +02:00
olliw42andRaphael Coeffic 2eef807fba avoid compile warning 2021-07-10 07:06:57 +02:00
Raphael CoefficandRaphael Coeffic 4667b29698 [color] fix attempt for GT911 touch sensor driver
This fix contains 2 modifications:
- poll GT911_READ_XY_REG for 20ms in case not yet ready
- write 0 to GT911_READ_XY_REG in all cases

These fixes are largely inspired from the Linux GT9xx driver (see https://gitlab.com/AdyaAdya/goodix-touchscreen-linux-driver/-/blob/master/goodix.c)
2021-07-03 08:16:33 +02:00
Raphael Coeffic 0011eebffa Fix attempt for locked touch
Thx Jakub!
2021-06-20 19:00:48 +02:00
norulersandRaphael Coeffic 5e03b762ea Update gt911 config version 2021-06-15 09:53:13 +02:00
norulersandRaphael Coeffic f4b50cee9d Update T18 gt911 configuration 2021-06-15 09:53:12 +02:00
Raphael Coeffic 4dd8692191 Added GT911 config as provided by Jumper (not yet correct ATM) 2021-06-14 19:57:35 +02:00
3djc fde097a1d6 TX16S touch interface working 2020-10-08 20:40:23 +02:00
Bertrand Songis 42a3198568 Merge with latest 2.3 2020-10-07 21:01:45 +02:00
3djcandGitHub 02c4886525 Move to proper I2C handling (#7848)
* Rework I2C handling
2020-07-28 19:21:33 +02:00
3djcandGitHub 6a5aa60a76 rework touch panel driver (#7803)
* Hardware I2C support
2020-07-07 21:14:46 +02:00
3djc c778107779 Wake up backilight on screen touch when keys mode is selected 2020-06-18 14:42:20 +02:00
3djc 396ebf27b5 TX16S 2.4 touch support 2020-06-18 09:40:43 +02:00
3djc be2c10c6cc Cosmetics 2020-04-28 13:54:09 +02:00
3djc 251fc3b114 Cleanup 2020-04-27 07:56:39 +02:00
3djc d0854f3489 Continued 2020-04-26 10:50:06 +02:00
3djc e68bd31f4e Continued 2020-04-26 09:02:05 +02:00
3djc b61691df1d Attempt rework touch control 2020-04-25 13:39:28 +02:00
Kilrah 716650f2cd fix typo 2020-04-25 10:52:05 +02:00