* Allow autoswitch for LS AND
* Add POPUPMENU base edit/clear/copy/paste to LS screen
* Add long menu to OUTPUTS screen
* Compil fix
* Compil fix
* Translations for outputs POPMENU 128x64
* [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.
* X7 limits where wrong : for exemple, if you not set a compare value bigger than 15 in a logicial switch.
This fix it and also takes into account some radio settings (like extended limits)
* Take II
* Cosmetics
* Cosmetics
* Cosmetics (reverted from commit 2282c2633b6986ed999f898ef9611f236477ff7c)
* some #ifdef nightmare cleanup
* 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
* Fixed Companion translations cmake target
* Some translations had problems with string termination (missing or excessive " characters)
* Fixes#4138: Use [RTN] instead of [EXIT] on Horus
* Define spare bits if BUZZER is not defined
* [simulator] Keyboard and mouse control adjustments:
~ Make kay/mouse navigation more consistent between radios and ensure keyboard events are always properly detected (eg. after clicking on a control);
* Fix mouse wheel direction for rotary encoder emulation (fixes https://github.com/opentx/opentx/issues/4160);
* Fix page up/down buttons on Horus (also #4160);
~ Horus rotary encoder can now be controlled with +/- keys (also keeps X/C, otherwise supersedes https://github.com/opentx/opentx/pull/4087 );
~ DEL key now another alternative for ESC/BKSP (brings all controls to number pad);
~ "=" key now acts same as "+" key (+ requires SHIFT in main row on most US keyboards);
* Fix controls direction when using mouse wheel over RC switches;
+ Add help text showing keyboard mappings for each radio type (activate on F1 key).
* [simulator] Enable mouse wheel scrolling on radios w/out a rotary encoder (acts as +/- keys on X9D, PU/DN keys on 9X).
* [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.
* Display channel name instead of number, when name is non-empty
* Bars made full width, channel + name on left side, output value on right side. Background color added.
* Reverted redefinition of chanString, background color changed to BARGRAPH_BGCOLOR
* Added borders around bars
* Added BG border configuration. Refactored RECT_OFFSET into RECT_BORDER to allow easy change in border thickness.
* Fixed vertical line offset.
* BG settings affecting actual BG, not the border
* [simulator] Save and restore Simulator window sizes and positions (based on current radio profile).
* [simulator] Set startup throttle stick lock in standalone sim based on default mode in current Companion radio profile;
Add new flag indicating standalone simulator;
Unique titles for simulator console windows.
* [simulator] New/updated Simulator startup options:
Radio profile used for standalone Simulator can now be separate from Companion;
Allow selecting a radio profile and EEPROM image file (in addition to radio type) at startup via GUI and CLI;
All startup settings are saved between uses.
* [Windows][MinGW] Update some WIN32 macro checks in source code to be MSVC-specific (not needed for GCC-based builds).
* [build] CMakeLists updates:
Adjust for Windows MinGW builds: now fully compatible with Qt5.5+ and MinGW-w64 toolchain (included in Qt installs);
Add option to specify path to required libraries/includes (instead of hard-coding `c:\programs`);
Add package check for Python and use found executable name;
Remove custom FindSdl package handler in favor of stock (and improved) CMake one (still works with Windows);
Do not force SIMU_AUDIO and LUA_COMPILER in SIMU builds (leave it up to user);
Add SIMU_LUA_COMPILER option specifically for SIMU builds (default = ON);
* [build][Windows] Rewrite/Fix Windows Companion `install` target, with two options:
a) just copy supporting Qt and c++ DLLs to build folder so programs can be quickly be run from there (this is default and similar to the old behavior);
b) full installation to CMAKE_INSTALL_PREFIX path, including all binaries, supporting DLLs, language files, and OTx utilities.
Option b) can be selected with new WIN_DO_FULL_INSTALL parameter;
Also cleans up the Linux install a bit and consolidates the OS X parts;
* [simulator][Windows] Add option to build Windows simulator with system console/terminal enabled (both standalone and when launched from Companion). Mostly useful for debug as it gives output messages much sooner in the startup process than the current debug console. Also helpful because you don't have to open it manually on every launch, and it remembers last window position and size. Possible candidate for a user-selectable runtime option in the future.
* [Windows] Fix MSVC build issues.
* [build] More build fixes:
Use a customized FindSDL.cmake script again due to bugs and deficiencies in the official version (based on script from CMake v3.7);
Fixes missing SDL DLL error in NSIS installer);
Use string for Timers option (checkbox in GUI is confusing);
Remove an unused variable.
* [simu][Windows] Fix f_getcwd() cutting off too many characters (fixes SD browser interactions).
* Add FY805 protocol
* Fix stray space
* Fix multi sending 120% instead of 100%.
* Implement a custom telemetry for the multi module
The custom telemetry allows the module to tell the telemetry protocol to OpenTX and also allows signaling the status of the Module (e.g. invalid protocol) to OpenTX
This should also close#3979.
* Cosmetics and a few small bugfixes
* remove empty if
* Move status line directly below the mode to be always visible when selecting a protocol
* warn if internal RF module is on
* Replace sprint with small helper function to build on AVR ARM (AR9X, 9XPRO, …)
* TR in wrong order, RF_PROTO_OFF inverted
* Refactor definition of Multimodule protocols to have one central place to define all multi protocol properties
* Also update protocols in companion
* Update multi version number to display as a.b.c.d