* Relax assumptions about when Lua is called in foreground and background
* Start Lua cycle timer both in foreground and background
Do not assume that background/foreground alternates
* Lua is called at every Standalone GUI cycle instead of 5 Hz
Since Lua preempts every 50 ms or so, the GUI should remain responsive.
* In standalone script, only call Lua once per GUI cycle, to avoid messing up buffer handling.
* Revamped error reporting for Standalone and Telemetry Lua scripts
* Font size for Lua error is reduced from XL to L on color if LCD_W < LCD_H
* In drawTextLines, also possible linebreaks for opening brackets.
* Smaller font for error message on tall color screen
* Make titlebar height match font size on narrow LCD
* Add theme editor
- added theme editing support to radio
- color editing controls
- split screen into browser and editor
- removed dead code from coloreditor,
- new radio theme editing icon
* Resolve compile error & merge cleanup
* 1. fix exit key press in ThemeEditor. It was not exiting screen
2. added ability to touch PageButton() on ColorEditPage()
Co-authored-by: kkoenig1@optonline.com <kkoenig1@optonline.com>
Co-authored-by: Peter Feerick <peter.feerick@gmail.com>
* Issue #132
Added 16 shared memory variables which can be accessed bot from Lua widgets and other Lua scripts.
* Notice Only available on radios with color display
* no more backlight off mode for color lcd radios
disable backlight input controls in radio setup screen, when they are not used by the selected backlight mode
force backlight on to be at least the brightness of backlight off
* do not allow to set the display brightness below the configured off brightness, except when display mode is set to ON.
* Revert "do not allow to set the display brightness below the configured off brightness, except when display mode is set to ON."
This reverts commit e153a8dc658d53f5420c912e7543d6d0a9fe6ed9.
As it seems, ZoneOptionValueEnum is optimised by ARM-GCC to have only 8bits, rather than the 32bits used by the host compiler. Meaning that with "data" pointing at ZoneOptionValueTyped::value, we need the offset and not the size of the element before to properly rewind the data pointer.