Commit Graph
45 Commits
Author SHA1 Message Date
Arne Schwabe 4c42769104 cosmetics (remove ifdef indentation for HORUSSTICKS) 2017-03-10 13:05:50 +01:00
Arne SchwabeandBertrand Songis 2c80679eb9 Also define ana_mppings if horus sticks are used (closes #4565) (#4566) 2017-03-08 22:05:09 +01:00
Damjan AdamicandBertrand Songis 03b65b06b6 Projectkk2glider/issue 4479 slow joystick (#4569)
* Missing debug timer

* USB driver cleanup

* Re #4479: Joystick update called from mixer thread every 10ms

* Cosmetics

* Compilation fix

* Cosmetics

* Another compilation fix
2017-03-07 22:59:32 +01:00
Damjan Adamic 2c99de86d0 RTC Year fix for simulators 2017-02-22 16:26:21 +01:00
Damjan AdamicandBertrand Songis 299c5924fa Projectkk2glider/hardware floating point (#4477)
* Turn on compiler hardware floating point support for F4 targets

* Fixes, works on Horus

* Comment updated
2017-02-18 00:52:52 +01:00
Bertrand SongisandGitHub 40ece81de2 X10 (#4377)
[X10] New radio supported!
2017-02-04 10:42:50 +01:00
Bertrand Songis 89680ddf70 Warning fixed on Manjaro 2017-01-21 21:22:53 +01: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
Bertrand Songis 54742fcad9 Compilation fixes for Arch Linux 2017-01-07 18:42:56 +01:00
Max PapernoandBertrand Songis e90bd0fd70 Enable Windows build with Qt5.5+ & MinGW-w64 (#4150)
* [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).
2016-12-24 00:11:07 +01:00
Arne SchwabeandBertrand Songis 06b0694f03 Schwabe/multi telemetry (#4151)
* 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
2016-12-24 00:04:11 +01:00
Max PapernoandBertrand Songis 5d5dc67605 Add runtime Lua script pre-compilation and general .luac file support (#3318) (#4119)
* [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.
2016-12-17 10:56:40 +01:00
Damjan Adamic a4d899844e Re #4125: New functions usbStart() and usbStop() to make USB code cleaner 2016-12-11 16:28:23 +01:00
Damjan AdamicandBertrand Songis 29c43d9e33 Projectkk2glider/usb hardening (#4125)
* USB fixes:
 * USB initialized when USB cable is inserted and de-initialized when disconnected (this was the original way, which proved itself unreliable in the past. Now with the new USB library it appears to work without any problems. Used in this way result in safer operation - USB controller is disabled while unconnected)
Works without force device mod
 * Serial: initialization of global variables
 * Reduced RAM usage - data moved to FLASH

* Detailed USB interrupt counters (+ debug print fix)
2016-12-11 10:33:52 +01:00
Damjan AdamicandBertrand Songis 5a5cf7cf33 Projectkk2glider/issue 4086 usb and serial (#4097)
* Serial2 changes:
  * stm32 driver moved to common dir.
  * earlier start of driver (Taranis)
  * wait for free buffer time limited
USB changes:
 * Upgrade to ST USB-Host-Device_Lib_V2.2.0 (from V2.1.0) - this fixed a problem with USB serial #4086)
 * other fixes for #4086

* USB-Host-Device_Lib: renamed directory to V2.2.0 (from V2.1.0)
2016-12-06 20:32:30 +01:00
3djcandBertrand Songis 10914c741c Fix compile with gvars (#4046)
* Fix compile with gvars

* Rework
2016-11-19 20:47:04 +01:00
Arne SchwabeandBertrand Songis 6b57f7afa7 Add FlySky Telemetry (#3997)
Add FlySky Telemetry
2016-11-13 19:09:33 +01:00
3djcandBertrand Songis 7bfb213687 Allow sdcard version change from cmake (#3816)
* Allow sdcard version change from cmake

* Make it sdcard version check ARM only

* Move to common ARM
2016-09-17 08:53:01 +02:00
Damjan Adamic 183b24086a Trace installed 2016-09-11 21:37:54 +02:00
Bertrand SongisandGitHub 250bcde474 Merge pull request #3765 from opentx/3djc/Horus-add-timer3
Add timer3 as default on Horus
2016-09-05 22:12:58 +02:00
Bertrand Songis 1ac835d420 Cosmetics 2016-09-05 22:11:48 +02:00
3djc db326b6723 Make timer3 default for all arm boards 2016-09-05 20:20:19 +02:00
Bertrand SongisandGitHub 9d94f26ed6 Merge pull request #3756 from opentx/projectkk2glider/gps_clock_to_rtc_improvements
Projectkk2glider/gps clock to rtc improvements
2016-09-05 19:44:09 +02:00
Bertrand Songis cc2c2b094e [Horus] S.PORT devices update should work (not tested)
[Horus] SD Manager files renaming fixed (quick & dirty, I would prefer a popup)
2016-09-05 19:33:06 +02:00
Damjan Adamic 874483ba55 Compilation fixes 2016-09-02 23:07:58 +02:00
Damjan Adamic d8a00c3f3d * Code refactoring for GPS to RTC clock
* Enabled GPS adjust RTC option for Horus
* Moved sensor ID to the right to allow display of GPS date/time in Telemetry screen
2016-09-02 20:47:56 +02:00
Bertrand Songis ca5c20abe3 getCPUUniqueId moved to STM32 common code 2016-08-31 01:06:00 +02:00
Bertrand Songis 6071b1aa0d Compilation fix 2016-08-28 10:06:37 +02:00
Bertrand Songis 4377815c7b watchdogSetTimeout renamed to watchdogSuspend 2016-08-28 09:26:18 +02:00
Bertrand Songis 506b24829c [Horus] Disable the WD timer on USB massstorage read/write 2016-08-28 08:47:51 +02:00
Bertrand SongisandGitHub 0ff601a3fa EEPROM simplification. Needs tests. (#3713) 2016-08-23 07:14:44 +02:00
Bertrand Songis 44e477965e Cosmetics 2016-08-19 11:20:12 +02:00
Bertrand SongisandGitHub d3ae3c035d Bsongis/gui refactoring for x7 d (#3701)
* [X7D] New board added
* Cosmetics
2016-08-18 11:49:16 +02:00
3djcandBertrand Songis 52435703a0 3djc/telem rename (#3678)
* Rename EXT option to TELEMETRY

* Change test accordingly

* Rename FRSKY to TELEMETRY_FRSKY

* Rename ARDUPILOT to TELEMETRY_ARDUPILOT

* More renames (JETI, MAVLINK, NMEA)

* Fixes to make commit-test happy

* Further tests added to commit-test

* Cleanup

* Rename EXTSTD to TELEMETRY_NONE
2016-08-02 21:53:25 +02:00
Bertrand Songis 0524f24ac6 hello.wav was not played anymore 2016-08-02 07:37:07 +02:00
Andre Bernet e72017977c No reason not to allow access to EEPROM when USB=MASSSTORAGE 2016-07-31 12:41:49 +02:00
Bertrand Songis 7bcac84253 rtc_driver moved to common/arm/stm32 2016-07-31 12:10:27 +02:00
Bertrand Songis 4b2315f56b Compilation fix. Massstorage won't use disk cache anymore 2016-07-31 08:10:46 +02:00
Bertrand Songis 67ebadc9e0 Compilation fix 2016-07-31 07:24:23 +02:00
Bertrand Songis fcdcccf8f5 [Horus] Massstorage bugfix (read cache beyond end of disk) 2016-07-30 23:30:52 +02:00
Bertrand Songis 85f3bd4ed0 [X9E] Massstorage OK? 2016-07-29 20:53:01 +02:00
Bertrand Songis e5bbf6766b USB Massstorage code refactoring 2016-07-29 16:43:39 +02:00
3djc aa915e088b Fix compile 2016-07-29 13:45:30 +02:00
Bertrand SongisandGitHub 83cdd67e6a Bsongis/move everything (#3669)
* Directories moved

* Directories moved

* Directories moved

* Directories moved

* Directories moved

* rename horus directories in gui to 480x272

* Directories moved

* Rename taranis to 212x64

* Directories moved - TARANIS target removed, it's now X9E / X9D+ / X9D

* Directories moved - TARANIS target removed, it's now X9E / X9D+ / X9D

* Directories moved - TARANIS target removed, it's now X9E / X9D+ / X9D

* Directories moved - TARANIS target removed, it's now X9E / X9D+ / X9D

* Directories moved - TARANIS target removed, it's now X9E / X9D+ / X9D

* Directories moved - TARANIS target removed, it's now X9E / X9D+ / X9D

* Directories moved - TARANIS target removed, it's now X9E / X9D+ / X9D

* Fix x9e compile

* Directories moved - TARANIS target removed, it's now X9E / X9D+ / X9D

* Directories moved - TARANIS target removed, it's now X9E / X9D+ / X9D

* Directories moved - TARANIS target removed, it's now X9E / X9D+ / X9D

* Directories moved - TARANIS target removed, it's now X9E / X9D+ / X9D

* Directories moved - TARANIS target removed, it's now X9E / X9D+ / X9D

* Minor improvement of path handling

* Another bunch of files renamed :)

* Another bunch of files renamed :)

* Another bunch of files renamed :)

* Another bunch of files renamed :)

* Another bunch of files renamed :)

* Rename 9x to 128x64

* Compilation fixes

* Compilation fixes

* Compilation fixes

* Compilation fixes

* Compilation fixes

* Compilation fixes
2016-07-29 12:47:20 +02:00
Bertrand Songis e3e0d970a5 Directories moved 2016-07-28 22:26:40 +02:00