Commit Graph
43 Commits
Author SHA1 Message Date
Raphael CoefficandGitHub 538721ef6b chore: remove Qt and SDL2 from radio unit tests (#6452) 2025-07-24 08:05:18 +10:00
9e86a3ea84 chore(cpn): upgrade to Ubuntu 22.04 and Qt 6.9.0 (#5986)
Co-authored-by: elecpower <elecpower@users.noreply.github.com>
Co-authored-by: raphaelcoeffic <1050031+raphaelcoeffic@users.noreply.github.com>
2025-07-23 14:04:19 +02:00
7d91cdd428 refactor(simu): use C++ native threads (#6449)
Co-authored-by: raphaelcoeffic <1050031+raphaelcoeffic@users.noreply.github.com>
Co-authored-by: Malte Langermann <malte@langermann.net>
2025-07-20 13:57:52 +02:00
philmozandGitHub e0ec49d84e chore(radio): remove EEPROM macros and related code (#5461) 2024-08-22 10:32:16 +10:00
Raphael CoefficandGitHub 44981ad1f5 chores: Fetch googletest via CMake (#4252) 2023-10-27 19:26:22 +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
Malte LangermannandGitHub 8d91c0ae95 chore: Convert simu/simulator/companion to SDL2 (#3085)
* chore(pc): convert simu/simulator/companion to use SDL2

* switch companion builds to SDL2 - OSX is not converted
the linux change is done a bit hacky, it should be done by updating the EdgeTX docker container

* update build system setup scripts

* add compatibility for old and new SDL2 cmake integration

* fix windows installer

* fix simulator audio on windows by using DirectSound vie SDL2

* fix windows audio with SDL2
enable simu for windows builds

* remove workflow changes for linux builds, this needs to be fixed in the build environment

* fix OSX build, thx @pafleraf

* fix windows audio for companion and simulator with SDL2

* select SDL2 branch of the build-docker environment

* Revert "select SDL2 branch of the build-docker environment"

This reverts commit da801609d78e1aed513ad7d9d8ab3ebded2900b9.

* fix tests with SDL2
2023-02-22 20:32:51 +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
Raphael Coeffic 4bdd7e7ea7 GPS support at runtime 2022-03-20 16:30:58 +01:00
Raphael Coeffic d9d10f2743 Fix X12S 2022-03-20 16:22:12 +01:00
Raphael Coeffic 6ac8d50c40 Fixed some more mockup drivers 2022-03-20 16:22:12 +01:00
Raphael Coeffic 3439a94aa4 Some cleanup 2022-03-20 16:22:12 +01:00
Raphael Coeffic cc0af82506 Added draft conversion test for TX16S 2021-11-10 11:07:03 +01:00
Raphael Coeffic 8eed123716 Even more unit tests 2021-11-10 11:07:03 +01:00
Raphael CoefficandRaphael Coeffic 9b648a14e4 Fix COLORLCD gtests-radio target 2021-05-06 12:55:59 +02:00
Raphael Coeffic 421f35f4ab Use the address sanitizer for gtests 2021-04-14 10:04:12 +02:00
Bertrand Songis 4c484017a4 Merge from 2.3 2019-12-05 09:29:11 +01:00
Bertrand SongisandGitHub 097fdb8a73 datacopy is not needed for simu (#7105)
datacopy is not needed for simu
2019-11-20 17:14:37 +01:00
Bertrand Songis e2f84b8047 Cosmetics 2019-10-19 13:03:08 +02:00
Raphael CoefficandBertrand Songis 52fca00394 Unit test fixes (#6706)
* remove downloaded gtest archive after unpacking

* moved horus test files to the build directory

* cleaned up X12S test file (removed subdirectory)
2019-09-04 09:27:37 +02:00
Bertrand Songis b005f5dd6c EEPROM conversions tests added to X12S (RADIO) 2019-09-03 13:59:16 +02:00
Raphael CoefficandBertrand Songis d399a75bf6 download googletest automatically (#6697)
and a small fix for finding QT5 installed via brew on OSX
2019-09-02 14:36:13 +02:00
Raphael CoefficandBertrand Songis 5db30ea7bc More unit tests and unified target for all tests (#6661)
* added general settings tests

* fixed pre-219 switchUnlockState (CPN)

* X7 radio settings tests

* updated X10 model

* patched TESTS_PATH to point directly at the complete tests path

* fixed horus general settings switch conversion

* cpn x10 general settings tests

* fixed horus cpn import

* use x10 model from otx file to ease editing with companion

* added make targets "gtests" and "tests"

gtests builds all the tests (radio & companion)
tests builds and executes all the tests (radio & companion)

* fixed companion tests cmake

* fixed gtests-radio target

* fixed commit tests

* fixed converting LS & RS on X10

* fixed converting global functions on X10

* fixed source conversion on X10

* fixed throttle source on X10

* fixed throttle source on radio and companion

* more checks and re-enabled Horus screenData copy

* more tests (X10)

* [X10] restore correct direction for RS & LS

* [horus] convert "Value" widget source

* fixed conversion of ModelHeader::bitmap length

* added missing X10 radio tests to companion tests

* fixed conversion of telemetry sources in logical switches

* [horus] fixed potential crash

* fixed "AND switch" conversion in logical switches
2019-08-26 08:36:31 +02:00
Bertrand SongisandGitHub 39f29860c9 Bsongis/telemetry clean session (#6597)
Telemetry cleaning session
2019-08-02 21:31:03 +02:00
Bertrand SongisandGitHub c3388dc65e Bsongis/x9lite pwr fix (#6501)
X9 Pwr fix
2019-06-14 21:19:26 +02:00
Bertrand SongisandGitHub 794fe32006 X10 extra switches sticks (#6423)
[X10] 2 extra sticks switches + 2 extra pots
2019-05-17 20:42:41 +02:00
Arne SchwabeandBertrand Songis ce77fbd2ff No longer use deprecated qt5_use_modules (#5931)
QT 5.11 finally removes the qt5_use_modules macro.
Instead target_link_libraries with the Qt5::Lib added should be used.
Since we already use that in one place, it should work everywhere. Since
the common companion lib already depends on Core, widges and multimedia
components that link against it, also implicitly link against those
libraries.
2018-06-02 18:14:49 +02:00
Bertrand Songis 4f7aba9c05 Revert "Bsongis/sonar (#5555)"
This reverts commit 7806c20
2017-12-22 20:18:21 +01:00
Bertrand SongisandGitHub 7806c2096d Bsongis/sonar (#5555)
Some sonar issues fixed
2017-12-21 18:25:27 +01:00
Damjan AdamicandBertrand Songis f7543e3220 Projectkk2glider/simu tmp sd path (#4231)
* Re #4224: Introduced settingsPath and use std::string for paths in simpgmspace.

* Re #4224: Relevant parts of simpgmspace.cpp moved into simufatfs.cpp and simudisk.cpp

* Removed "/" from "mask_monitor_logsw.png"

* Re #4224: findTrueFileName() refactoring

* Faster gtests (less waiting for eeprom operations to finish)

* Re #4224: Radio settings and models directories now taken from alternate path (if set) [simu]

* Fixes #3322: together with previous changes to the SD browser this prevents the simulator from browsing higher than SD card root path.

* f_chdir() debug traces
2017-01-15 21:53:18 +01:00
Max Paperno 95e59d931e [build] Suppress TRACE_SIMPGMSPACE messages in TravisCI build. Cosmetics. 2017-01-08 03:52:09 -05:00
Max PapernoandBertrand Songis 1f788723f9 Build system updates, including -Werror on TravisCI (#4202)
* [TravisCI] Build using avr-gcc 4.9.2 (up from 4.8.2). Relies on https://github.com/opentx/opentx/pull/4169 . Fixes all linker warnings, makes clean build.

* [build] Add ARM/AVR compiler version check/display and a workaround for avr-gcc linker warnings when using WARNINGS_AS_ERRORS=true.

* [TravisCI] Enable -Werror on all build targets (WARNINGS_AS_ERRORS=true).

* [build] CMake script updates:
  Enable WARNINGS_AS_ERRORS option for all targets (not just firmware);
  Consolidate some C/CXX flag settings for firmware target, avoid duplication/redundancy;
  All warning flags are now passed to linker (GCC only);
  Add a "build report" for each main target showing compiler, flags, and defines, with verbosity controlled by new VERBOSE_CMAKELISTS option;
  Added properties to PCB, TRANSLATIONS, and a few other options (makes option selector lists in cmake-gui);
  Add macro for conditionally adding C++11 flag;
  Silence CMake >3.0 warnings about CMP0054 policy not being set;
  Reverts AVR linker -Werror workaround;
  Misc. cleanup/consolidation.

* [build] More CMakeLists updates:
  Silence superfluous "CRT_SECURE" series MSVC warnings;
  Formalize finding pthread lib/dll on MSVC builds and fix some issues with install target script;
  Add property string lists to more options;
  Quotes some paths with possible spaces, & other minor cosmetics.

* [build] firmware/bootloader: Remove remaining CMake default compiler flags and add FIRMWARE_C[XX}_FLAGS[_DEBUG] options for user to specify additional flags. Also move ASM language call to silence CMake warning w/MSVC.

* [build] Workaround bogus "uninitialized" warnings from AVR linker.

* [tests] Add custom printer for less verbose gtest output (use --verbose option to revert to gtest default).

* [build] Use less verbose CMake output for TravisCI builds. Formalize search for gtest code and enable gtests target on WIN32-GCC. Minor language fix.
2017-01-08 09:44:33 +01:00
Arne SchwabeandBertrand Songis a50d69c3b2 Mark gtest variables cached (#3980)
* Mark gtest variables cached

Set GTEST location variables as CACHE so they can be modified when gtest is in a different location from the cmake call (/usr/src, /usr/include is not writable on OS X)

* Uppercase location and write Google Test like Google does
2016-11-02 13:05:13 +01:00
Bertrand SongisandGitHub 0ff601a3fa EEPROM simplification. Needs tests. (#3713) 2016-08-23 07:14:44 +02:00
Damjan AdamicandBertrand Songis 97cc58e323 Projectkk2glider/issue 3432 jitter filter option (#3452)
* Fixes #3432: radio option added to turn on/off ADC jitter filter (ported from master)

* Gtests fix

* Re #3432: compilation fix

* Re #3432: existing field split to accommodate the new option without the RadioData size change
2016-05-02 19:26:08 +02:00
Damjan Adamic 57028614fb Gtests cmake fix (which I broke in previous commit) 2016-04-08 21:42:12 +02:00
Damjan Adamic 651b0ad579 Disable gtests target if Qt5 not installed 2016-04-08 14:53:07 +02:00
Bertrand Songis 7ec0dd8a40 Qt4 was still required for gtests 2016-03-27 10:18:31 +02:00
Bertrand Songis d6c17a7ead Compilation failure 2016-01-28 06:53:13 +01:00
Bertrand Songis 4c8789106d [Horus] Button widget added (still not finished) 2016-01-27 22:17:51 +01:00
Damjan Adamic 295491f965 Header files stamp.h and location.h now generated in build directory 2016-01-15 20:26:08 +01:00
Damjan Adamic e3eb236e7b Nightly build fix: gmake target only availabe if gtests source is found 2016-01-11 18:42:37 +01:00
Damjan Adamic a76fc4c88c Re #2939: gtests added to cmake 2016-01-10 18:43:33 +01:00