Commit Graph
4518 Commits
Author SHA1 Message Date
philmozandGitHub a9f468e82a fix(radio): Limit year range for RTC to prevent overflow (#4124) 2023-10-03 10:59:29 +10:00
Raphael CoefficandGitHub 00cb9c48df refactor: Notify module driver on config changes (#3780) 2023-10-01 15:19:17 +10:00
philmozandGitHub 54cc71c494 fix(color): Clipped progress bar when flashing bootloader/module firmware (#4142) 2023-10-01 10:04:45 +10:00
f40fa1a64b feat(el18): Use trim hats as keys for navigation (#3894)
Co-authored-by: elecpower <neilh713@tpg.com.au>
Co-authored-by: Peter Feerick <peter.feerick@gmail.com>
2023-09-29 20:12:54 +10:00
ef6316ef6c chore(radio): Move const data from RAM to FLASH. (#4098)
Co-authored-by: philmoz <phil.a.mitchell@gmail.com>
2023-09-29 10:19:06 +02:00
397d30d283 fix(color): Remove unnecessary scrolling on trainer setup page. (#4123)
Co-authored-by: philmoz <phil.a.mitchell@gmail.com>
2023-09-29 10:17:36 +02:00
4c95d665b6 fix(color): Make toggle switch UI consistent with other UI elements (#4110)
Co-authored-by: philmoz <phil.a.mitchell@gmail.com>
2023-09-27 19:45:06 +10:00
RistoandGitHub 5bc06959a1 feat(color): Add alignment option for text widget (#3574) 2023-09-25 11:55:54 +10: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
philmozandGitHub bb7deefc4f fix(radio): Size of fields on sensor edit page for portrait layout (#4096) 2023-09-24 10:43:42 +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
RistoandGitHub 870fe7eca3 feat(color): Show custom image during shutdown if present
If `IMAGES\shutdown.png` is present, a custom shutdown image will be displayed while powering off the radio
2023-09-23 18:46:50 +10:00
philmozandGitHub daf6918f5a fix(color): Make direction of shutdown animation consistent with B&W (#3988) 2023-09-23 16:17:33 +10:00
philmozandGitHub 8778856d26 fix(color): Allow scrolling of the version info popup with rotary encoder (#3987) 2023-09-23 14:57:44 +10:00
philmozandGitHub 55217dc303 fix(color): Multiple fixes and improvements to switch and source popup menus (#4055)
* Fixes for switch and source select popup menus.
- Fix missing GV filter in source select
- Ensure all options are included in one of the filters
- Add misc filter to switch select (for TELE and ACT options)
- Show inverted and no-selection options when filter selected
- Make menu line height consistent.

* Fix selected item in list when filter applied.
2023-09-23 11:21:12 +10:00
philmozandGitHub c783f16b20 chore(color): Remove unused code from 'About EdgeTX' popup (#4092) 2023-09-23 10:57:21 +10:00
philmozandGitHub 497540b4a2 fix(color): Invalid popup menu entries for Trainer SF (#4091) 2023-09-23 10:54:42 +10:00
philmozandGitHub 9bec7721e7 fix(color): Ensure all items are updated on theme change in user interface settings (#4084) 2023-09-22 18:55:24 +10:00
philmozandGitHub 752954fec5 fix(color): Update background color on user interface page when theme changed (#4078)
* Update background color on user interface page when theme is changed.

* Refresh without redrawing entire page when theme changes.

* chore: Remove completed TODOs, formatting
2023-09-22 15:34:32 +10:00
philmozandGitHub 22a4e67117 feat(color): Add support for information bubble popups (#3903)
* Add information bubble popup window.

* Use fixed BLACK and WHITE colors.
2023-09-21 19:47:46 +10:00
philmozandGitHub 0aff002c8a chore(color): Cleanup and optimise EdgeTxTheme class (#4013) 2023-09-21 19:39:05 +10:00
philmozandGitHub e4f845c844 chore(radio): Fix some compiler warnings when building firmware (#4058) 2023-09-20 11:16:48 +10:00
MichaelandGitHub d30499f19b feat: Add SF to mute audio amplifier on supported radios (#3753)
* SF Audio amplifier mute port to 2.10

* added missing definition STR_SF_DISABLE_AUDIO_AMP

* exclude radios not able to switch audio amp off

* radio/src/storage/yaml/yaml_datastructs_128x64.cpp needs to distinguish between radios with or without switchable audio amps. Expample Zorro vs X9lites

* updated companion and radio language PL

* - added Companion and radio language SE

- removed type unfinished for translated languages

* added radio and companion language JP

* - reverted change to 128x64 yaml_datastructs.h

- moved exclusion of SF DISABLE_AUDIO_AMP based on hw capabilities to UI level

* confused FUNC_ with FUNCTION_

* confused FUNCTION_* with FUNC_*
2023-09-14 19:33:03 +10:00
Frank ZhaoandGitHub 16276d3d15 fix: Compilation error when X9D and USE_RTC_CLOCK=OFF (#4040) 2023-09-14 19:27:08 +10:00
MichaelandGitHub 73a4a2387e chore: Remove legacy UI for telemetry type (#3782)
* CPN and radio: removed legacy UI for telemetry type

* CPN and radio: removed legacy UI for telemetry type
2023-09-07 21:10:16 +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
philmozandGitHub f55f9c4316 chore(color): Remove unused color bitmap images (#4001) 2023-09-04 18:59:52 +10:00
philmozandGitHub 9f4997caea chore(bw): Reduce FLASH used by 212x64 startup/shutdown animations (#3989)
* Reduce FLASH storage of startup/shutdown animation for 212x64 LCD B&W radios.

* Simplify bitmaps.

* Support drawing animation bitmaps with transparency.
2023-09-04 14:10:50 +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
06712d9b97 feat: Interactive/progressive preflight checklist (#3564)
* initial version of clickable checklist

* do not display checkboxes for empty lines if checklist is shorter than screen size

* remove checklist exit after completing it
cannot exit menu from menuTextView as level above there is while loop that cannot be stopped from thic place in code

* menu entry to enable and disable interactive checklist

* only when complete interactive checklist is closed

* config updated & not display checkboxes when entered from "View Notes"

* add setup entry for colorlcd

* do not make interactive checkist when loaded from menu

* fix datastruct size after merge

* Companion support for interactive checklist

* mark checklist lines as non-checkable with '=' for B&W radios

* Process only items visible on screen
This is also crucial when it comes to analyse non-checkable items on a checklist, as in this way there is no need to load non-visible items from SD-card

* WIP fix merge problems

* update yaml datastructs

* restore most functionalities for interactive check lists on color LCD radios
currently no automatic line wrapping and you can always exit the checklist, even when it is not fully done

* finalise interactive checklists for color LCD

* fix: rebase/merge issues

* fix: model setup checklist section

* fix: fix 212 model setup

* Re-work of the some of the color lcd checklist code (#3787)

* Move checklist logic to sub-class.
Show model name instead of file name in title, show 'Preflight checks' in title2 for checklist.
Handle long line wrapping of text.
Don't indent lines without checkbox.
Add 'RTN' button when done.

* Code cleanup.

* Simplify code by storing a list of checkboxes instead of scanning LVGL object hierarchy.

* Indent checkboxes to make touch activation easier.
Keep 'RTN' button visible so last checkbox is further from bottom of screen (for touch activation).
'RTN' button is disabled until checklist complete.

* Add checkbox class constructor for preflight checks.

* Fix checkbox size.

---------

Co-authored-by: Piotr Rzeszut <piotrrze@gmail.com>
Co-authored-by: 3djc <lesitewebdejc@hotmail.com>
Co-authored-by: philmoz <philmoz@users.noreply.github.com>
Co-authored-by: Phil Mitchell <phil.a.mitchell@gmail.com>
2023-08-29 19:18:39 +10:00
MichaelandGitHub 2d8d2fcf01 feat: MIN constant as a source option (#3639)
* feature request #1635

- added MIN (-MAX -> -1024) as source

* fix rebase

* fix rebase

* change to use language strings for MIN/MAX instead of instance

updated CN and TX language file for MINuse -RESX for MIN instead of magi numbercode cleanup

* updated test sources

* updated JP language

* JP language: changed translation text

* updated HE language translations
2023-08-28 20:16:00 +10:00
3djcandGitHub 78aa381464 fix(radio): YAML timer handling (#3949)
* fix: YAML timer handling

* chore: improve YAML set timer handling

* chore: improve timer handling

* feat: only offer defined timer for set and reset functions

* feat: only offer defined timer for set and reset functions (bw)

* chore: cosmetics
2023-08-28 20:02:03 +10:00
philmozandGitHub e56cffafa9 feat(color): Replace static bitmap QR code with LVGL generated QR code (#3880) 2023-08-28 19:07:59 +10:00
philmozandGitHub dcc2118d19 chore(color): Replace dynamic_cast with virtual functions, disable RTTI to reduce FLASH usage (#3885)
* Replace dynamic_cast with virtual functions and disable RTTI.

* Cleanup TopBar class hierarchy.

* Fix compiler warning.
2023-08-28 12:55:15 +10:00
philmozandGitHub 96d94eeeab feat(color): Show active/configured timers on model setup page (#3972) 2023-08-28 12:15:04 +10:00
philmozandGitHub 7aadf5e3ef fix(color): Slider control blocking RTN key, slider rotEnc activation (#3966)
* Fix for slider control blocking RTN key.

* Fix rotary encoder activation for slider.
2023-08-26 21:18:35 +10:00
philmozandGitHub c1e83c2026 fix(color): Buttons on model setup page not showing active state (#3942) 2023-08-26 20:52:32 +10:00
Malte LangermannandGitHub b377a8b5d4 chore: SDIO conversion to HAL (#3182) 2023-08-13 18:56:39 +02:00
3djcandGitHub 3342d21195 feat: improved OLED brightness handling (#3773) 2023-08-12 11:17:50 +02:00
3djcandGitHub ae8e1fff8a fix: Trainer jack initialisation and driver cleanup (#3811) 2023-08-09 21:08:42 +10:00
philmozandGitHub f7037a92b0 chore(color): Model setup page cleanup (#3899)
* Cleanup model setup page code. Make buttons consistent height.

* Remove unused object constructor.
2023-08-09 18:29:59 +10:00
ac4aeef579 chore(color): Use strAppend and strncmp on widgetName to avoid termination issues (#3905)
Co-authored-by: Phil Mitchell <phil.a.mitchell@gmail.com>
2023-08-05 18:09:53 +10:00
bd47b491ba fix(color): Fix widget default colors
Co-authored-by: Phil Mitchell <phil.a.mitchell@gmail.com>
2023-08-04 19:26:49 +10:00
philmozandGitHub 4272a03025 feat(color): Convert top bar display in main view into widgets (#3700)
* Convert radio info (USB, volume, signal strength), date/time and internal GPS display from top bar into widgets.

* Fix B&W build.
2023-08-04 12:14:31 +10:00
philmozandGitHub 69338ab0ab chore(color): Libopenui refactor (#3614)
* Refactor object creation logic.
Remove unused LVGL features.

* Remove unused files.
Fix height for widgets.

* Rename 'OpenTxTheme' class to 'EdgeTxTheme'.
Cleanup commented out code.
Cleanup unused code from 'etx_lv_theme.cpp'.

* More cleanup.

* Move more style code to etx_lv_theme.cpp

* Update license

* Make default button height match other controls.

* Fix curve edit layout.

* Fix layouts.

* FormWindow and FormGroup provided identical functionality - rename FormGroup to FormWindow and remove duplicate.

* Simplify menu icon handling.
Remove unused 'flysky.cpp' file.

* Fix window size change.

* Simplify page header code.
Fix statistics view page.

* Remove unused file.
Replace redundant 'Subtitle' class with a macro.
Fix compiler warnings.

* Fix compiler warning in LvglWrapper.cpp.
Remove unused code in static.h.
Simplify about page.

* Rename ICON_OPENTX to ICON_EDGETX.

* Fix github build error.

* Fix github build error (attempt 2).

* Move ButtonMatrix styling to etx_lv_theme.cpp.

* Scroll bar consistency.

* Use styles for ButtonMatrix text color.

* Use 'active' color for selected USB advanced setup buttons. Move error message to bottom of page.

* Create style for popup window title bar.
Simplify advanced USB setup code.
Remove unused libopenui/carousel.* files.

* Add style for modal popup content.

* Remove unused BUTTON_BACKGROUND flag.

* Replace GridLayout with FormWindow. Remove unused gridlayout.h file.

* Fix rebase.

* Merge ChoiceEx class into Choice class code.
Remove unused CurveKeyboard.

* Use LVGL bar for progress indicator.
Update only style colors when theme changes (don't recreate all style settings).

* Move ProgressDialog class to dlalog.h/dialog.cpp files.

* Simplify trim and slider code in main view.
Simplify the hardware inputs code.
Fix dialog size.
Remove unused code in layout factory.

* Cleanup unused code.

* Add style for FormWindow class.
Merge BaseNumberEdit class into NumberEdit class and remove BaseNumberEdit.
Remove more unused files.
Cleanup libopenui_config.h files.

* Re-organise libopenui include files to fix build error.

* Fix build error.

* Add missed styles to etx_lv_theme.cpp.
Delete commented out #includes.
More cleaning up of libopenui_xxx.h files and dependencies.
Re-enable LVGL CHECKBOX feature.

* Merge libopenui_helpers.h into opentx_helpers.h file.

* Fix firmware build.

* Use object constructors for LVGL object creation as suggested by gagarinlg.
Add style for number edit text alignment.
Fix background color for focussed control.

* Move color related stuff from libopenui_defines.h to colors.h.
Remove need for libopenui_depends.h file.

* Merge libopenui_types.h content into opentx_types.h file.

* Rename CheckBox class to ToggleSwitch.

* Restore code to update flight mode text color when theme changes.

* Cleanup some more unused code.

* Remove redundant theme.h file.

* Fix rebase.

* Fix button matrix style.

* Fix rebase

* Fix rebase

* Ensure correct initialisation of Choice object.

* Fix rebase.

* Make the slider control bigger to make touch activation easier.

* Fix build error.

* Fix slider logic and cleanup code.

* Use ACTIVE theme color for inputs, mixes, LS, GV and SF.

* Improved border width consistency and focussed state consistency.

* Remove duplicate copy of the default theme colors.
2023-08-04 11:04:54 +10:00
3djcandGitHub 490fb951f8 fix: Do not display 0 Err when when info is unavailable (#3890)
* fix: unsuported %zu in arm compiler

* fix: do not display 0 Err when when info is unavailable
2023-08-03 14:41:13 +10:00
3djcandGitHub 159db764e0 fix(bw): Remaining/elapsed display on BW telem topbar (#3871) 2023-07-31 11:21:57 +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
f1c98955a7 fix(color): Switch not being auto detected when moved in Flight Mode edit page (#3875)
Co-authored-by: Phil Mitchell <phil.a.mitchell@gmail.com>
2023-07-30 12:10:31 +10:00
2450db470d fix: Prevent functional degradation if SD has less than 50MB free space (#3802)
* fix: Prevent functional degradation if SD has less than 50MB free space (#3730)

* justification: https://github.com/EdgeTX/edgetx/discussions/3666

- checks SD card free space at startup, start of logging and writing screenshots
- issues warning to user if SD card has less than 50MB free space
- will not write logs or screenshots if free space is less than 50MB at activation timerReset
- fixes crash of warning popup in logs.cpp (#3728)

* update: warning message if SD card fills up to threshold while logging

* empty commit

* call popup in non-blocking mode

* make b&w compatible to non-blocking popup calls

* 2nd attempt

* Popup:

- turns on backlight if dimmed due to inactivity setting
- if backlight is dimmed due to inactivity setting backlight can turnd on again by any controls

* #3599

* fixed b&w UI

* updated languages CN, CZ, DA, DE, FR, HE, IT, PL, PT, SE, TW

* chore: Update translations

* chore: Remove magic number

* chore: JP language update for SD card full (#3809)

* fix: Don't spam simulator log with file close msgs

---------

Co-authored-by: Michael <mha1@users.noreply.github.com>
2023-07-30 12:03:24 +10:00