* Use pwrCheck() as primary control point for shutdown, centralizes thread control in simpgmspace module;
* Remove main_thread_running in favor of separate variables for startup mode and shutdown flag;
* Don't start a thread for ARM startup, just run simuMain() directly (the thread just exits anyway);
* Refactor SIMU_SLEEP() macro, and remove all unnecessary uses of it, also remove SIMU_SLEEP_NORET;
* Add startType param to opentxStart() to control splash and startup checks;
* Fixes backlight never turning off in simulator with "SWITCH" power button type (pwrPressed() was always true);
* Fixes simu shutdown when model checklist is displayed at startup;
* Adds stubs to possibly simulate a "soft" power button in the future.
* Implement model note view without menu handler. Use it before pulse starts
* Also at model change. Handle wd reset and start pulses after mixer
* Fix Horus compile
* Fix Horus crash
* Fix coding style issue
* [firmware][ARM] Adjust some value limits for mix sources and update editing UI for LSs, CFs, & telem. bars:
* Increase timer limits to +/-8:59:59 when used with LSs, CFs, & bars;
* Increase Lua script output limits to +/-30K;
* Trim limits based on extended limit model setting;
* Limit TX voltage to 25.5;
* Limit TX time comparison value to 29:59m;
* Use proper GVar limits (user-configured), display precision, & unit in LSs & telem. bars;
* Display timer values properly with hours (instead of mmm:ss).
* [firmware] getTimerString() would fail with times >= 100min if hours weren't shown.
* Fix builds w/out GVars.
* Fix x7 display in telemetry widget (only time is displayed)
* rename drawDate to a more specific name, since it is not generic
fix for x9
* Travis build fix
* Introduce time FONTSIZE_MASK macro
* Cosmetics based on Bertrand's last feedbacks
* Use drawText with tiem string like x12s. Change font ':' which where way to large for SMLSIZE
* MIDSIZE ':' lower dot was not horizontaly symetrical, moving it up one pixel
* Make it all ARM
* Let's try not to brake timer adjust
* Fix
* [firmware][gui] Adjust custom failsafe (and some channel display) ranges for proper extended limits (fixes#4447). This also fixes some display issues in *x64 GUIs when adjusting failsafe settings and cleans up code in those functions.
* [firmware][gui] Fix 480x272 channel output progress bars to show full extended limits; Fix alignment issues on all 212x & 480x gui mixes screens with custom channel names; Streamline some channel outputs display code.
* Fix AVR build.
* Optimise display on 128x64
* Name if present are displayed (like now), but when the row is selected, the name moves on top and the display alternates between FM and other info
* Compile fix
* Flash savings: getFileExtension() de-templated, saves 160 bytes
* Flash savings: several variables moved to rodata, RGB macro optimization (speed and can now be used to initialize rodata)
Result for Horus:
text data bss dec
1261182 808603 42020 2111805 before
1267149 803335 42124 2112608 after (data size also counts .sram section)
5kB saved in .data section (RAM and FLASH)
* Removed compiler warnings
* RGB() and ARGB() gtests added
* ARGB() optimized
* [build][OSX] Fix clang warnings.
* [build][OSX] A few more warnings taken care of.
* [build] Fixed yet more build warnings across all platforms.
* [build] Fix final warning due to bad CMake flag.
* [build] Remove unused variables as requested, fix indent.
* Fix output display limit type for 8-bit targets.
* [simu] simpgmspace: Populate file date/time/size in f_stat(); Add f_utime(); Fix f_getcwd() on Windows; Fix f_mkdir() build error on Windows.
* [Lua] Add runtime support for script pre-compilation. Changes behavior with LUA_COMPILER (Re: https://github.com/opentx/opentx/issues/3318):
All .lua scripts are now compiled and saved to binary "bytecode" file (.luac extension) upon first execution;
Scripts are also automatically re-compiled if .lua source file is newer than existing .luac file;
The pre-compiled .luac version is loaded if modification time is newer or equivalent to .lua source file;
If a .luac version of a script exists, then the .lua version does not need to be present;
Guards against bytecode compatibility issues (binaries from 64-bit sim will not run on 32-bit sim/radio);
In SIMU and DEBUG builds, the source .lua file is always preferred in order to preserve full debug info (this is is controlled with new LUA_SCRIPT_LOAD_MODE macro, see lua_api.h);
GC is now run after each script is loaded.
* [Lua] Add loadScript() API function as alternative to loadfile() from Lua base. This can take advantage of the new OTx script pre-compilation features to reduce memory footprint when loading functions dynamically. This is an interface to luaLoadScriptFileToState(). Fully documented.
* [SD][Lua] Flexible file extensions support:
Allow for variable length file extensions throughout system (no longer hard-coded in LEN_FILE_EXTENSION);
Fixes issues with renaming files in SD manager which have file extensions longer than ".ext";
Expand general support for multiple file extensions per file type in sdListFiles() (eg. .lua and .luac for scripts);
Lua scripts with .luac extensions can now be selected in custom/telemetry/function menus even if no .lua version exists (duplicates are not shown);
.luac files can now also be executed from SD file manager UI.
* [Build] Added CMake options for LUA_COMPILER and LUA_SCRIPT_LOAD_MODE.
* Cosmetics.
* [SD][gui] Improve efficiency of some file name handling routines in sdmanager GUI and sdListFiles() by extending getFileExtension() function. Use shared isExtensionMatching() in place of isImageFileExtension(). Only allow executing .luac files when LUA_COMPILER defined (as per request).
* [simpgmspace] Fix f_mkdir() for MSVC build and misc. cleanup.
* [Lua] Use getFileExtension() in script loader to determine file type and check for buffer overflow.
* [X7D] Various fixes
[Others]
- Fixes the Mixer / Inputs MOVE / COPY problem on X9E
- Adds the copy/paste/rename feature in SDCARD menu on X7D/SKY9X
- Merges some duplicated code using the new directory structure
- Cosmetics