Commit Graph
258 Commits
Author SHA1 Message Date
Bertrand Songis a13ee14bbb [X-LiteS] Gyro added 2019-04-02 20:12:50 +02:00
Bertrand Songis 8ec797730e FrSky X3 board support added 2019-02-18 15:20:28 +01:00
Bertrand Songis ab77595c6c Another lot of refactoring 2019-02-05 14:18:45 +01:00
KilrahandBertrand Songis 1b2cff08a5 Extra switches now working in simu 2018-11-03 16:56:51 +01:00
KilrahandBertrand Songis 78650bb662 Companion support 2018-11-03 16:56:51 +01:00
Max Paperno 66cd99bf6b [simu] Updates for RTOS abstraction layer; Remove further SIMU_SLEEP usages. 2018-09-08 22:04:37 -04:00
Max Paperno a2006940db [simu] Refactor simu startup and shutdown handling (for 2.3 branch):
* 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.
2018-09-08 22:04:37 -04:00
Max PapernoandKilrah 4ff75ae87f [Simulator] Fix mixer outputs monitor not updating when channel value hasn't changed (fixes #6064). (#6122) 2018-09-04 11:46:40 +02:00
Kilrah fbcdcabab5 VC++ compilation 2018-08-05 20:04:12 +02:00
Bertrand Songis ed91931184 More AVR removal 2018-08-05 13:12:51 +02:00
Bertrand Songis ea76998beb More AVR removal 2018-08-05 12:39:05 +02:00
Bertrand Songis f3bfde242b RTOS refactoring + more AVR removal 2018-08-05 12:06:48 +02:00
Bertrand Songis 131078e3a0 GCC new warnings fixed (GCC) 8.1.1 20180531 2018-08-03 23:02:43 +02:00
Bertrand Songis db1d3fcb32 Remaining CPUARM removed 2018-07-11 13:33:51 +02:00
Bertrand SongisandGitHub 3f1d09bc68 Merge pull request #6016 from opentx/schwabe/removeAVR
Remove a lot more AVR specific code
2018-07-11 13:19:23 +02:00
Max Paperno c408c30bc1 Fix libsimulator build MSVC warnings introduced in commit 6110bbc. 2018-07-09 13:06:38 -04:00
Max Paperno 6110bbce98 Support Companion build with clang-cl on Windows (fw/libsimu not working yet due to compiler-specific macros in that code). 2018-07-09 12:02:26 -04:00
Max Paperno d507dbb5dd Add SIMU_TARGET build option to exclude libsimulator & simu from all/install. 2018-07-09 11:53:38 -04:00
Arne Schwabe aa5d8c4ba7 Remove remaining references to Mavlink 2018-07-05 12:05:55 +02:00
3djc dd632969f3 Massive clean thanks to Schwabe : unifdef -m -DCPUARM -UCPUM64 -UCPUM2560 -UPCBSTD -UPCBMEGA2560 -UPCBGRUVIN9X -UPCB9X $(find . -name "*.cpp" -or -name "*.h") 2018-07-05 08:04:55 +02:00
Arne SchwabeandBertrand Songis ce77fbd2ff No longer use deprecated qt5_use_modules (#5931)
QT 5.11 finally removes the qt5_use_modules macro.
Instead target_link_libraries with the Qt5::Lib added should be used.
Since we already use that in one place, it should work everywhere. Since
the common companion lib already depends on Core, widges and multimedia
components that link against it, also implicitly link against those
libraries.
2018-06-02 18:14:49 +02:00
Kilrah a1de19c105 Xlite simu shift working, dirty hack to get mouse wheel to do the right thing 2018-05-22 23:09:32 +02:00
Bertrand SongisandGitHub 99604dccc9 XLite support (#5806) 2018-04-25 23:07:04 +02:00
Max PapernoandAndre Bernet 9e4a0680ab [Simulator] Add mixes display to Radio Outputs widget (#5811)
* [Simulator] Add mixes output display to RadioOutputsWidget (closes #2655).

* Add proper limits reporting & representation for channel and mix values in RadioOutputsWidget.
2018-04-12 22:02:27 +04:00
Alexander NovikovandBertrand Songis 6e756c434a Fixed: compilation if SIMU_DISKIO = ON (#5723) 2018-03-25 09:39:17 +02:00
Bertrand SongisandGitHub c4001c8507 Bsongis/frsky xlite (#5574)
FrSky X-Lite support added
2018-01-02 14:36:48 +01:00
Bertrand Songis 4f7aba9c05 Revert "Bsongis/sonar (#5555)"
This reverts commit 7806c20
2017-12-22 20:18:21 +01:00
Bertrand SongisandGitHub 7806c2096d Bsongis/sonar (#5555)
Some sonar issues fixed
2017-12-21 18:25:27 +01:00
Max PapernoandBertrand Songis 908adb4d2b [sim] Cosmetics for switch position macros (also removes PCBFLAMENCO from simuSetSwitch). (#5474) 2017-12-19 12:13:18 +01:00
3djcandBertrand Songis 394bc1689f Massive cleaning (#5538) 2017-12-18 20:54:22 +01:00
Raphael CoefficandBertrand Songis 8b34c96a2d fixed switch direction in X10 simulator (#5472) 2017-12-07 18:41:49 +01:00
Max Paperno 9c74cc215c Fix gvars build error on libsimulator for PCBSTD. 2017-11-21 11:54:55 -05:00
Max PapernoandBertrand Songis 7759403f3e [Simulator] Quick fix for showing gvars with precision and unit in Radio Outputs view (fixes #5360). (#5384) 2017-11-19 11:21:20 +01:00
Bertrand SongisandGitHub 9d7dab724b Bsongis/issue 5338 (#5344)
Fixes #5338
2017-11-12 14:15:19 +01:00
Kilrah 83766bc3f6 Simu Debug compile fix 2017-11-04 10:14:22 +01:00
Kilrah 64a4f10ec7 X10 simu upright and working 2017-10-09 09:56:37 +02:00
Arne SchwabeandBertrand Songis b7acee5723 Allow USB mode selection on USB connect (#5193)
Allow all USB modes to be compiled in at the same time
2017-09-10 17:28:08 +02:00
sirPernaandBertrand Songis 390342af78 Crossfire baudrate selection for X7 support ( fixes #4922 ) (#5194)
* Crossfire baudrate selection for X7 support ( fixes #4922 )

* Moved baurate selection to general settings

* renamed mavbaud to telemetryBaudrate for ARM targets
translation added

* typo fixed
2017-09-10 17:10:47 +02:00
Bertrand SongisandGitHub 2b41ba94ff Update opentxsimulator.cpp 2017-04-17 10:23:09 +02:00
Arne SchwabeandBertrand Songis 471c38628f Fix key variable not initialised (#4790) 2017-04-17 10:22:21 +02:00
Max Paperno 077a651dc3 [Simulator] Fix intermittent crc errors with telemetry simulator. 2017-04-11 21:21:09 -04:00
Max Paperno 629d82fe27 [Simulator] Fix trims issue with AVR simulators (build failure since 57dc015); Fix possible array bounds issue if data is corrupt. 2017-04-07 03:50:40 -04:00
Max PapernoandBertrand Songis 57dc0159d6 [Simulator] Asynchronous SimulatorInterface & a few new features. (#4738)
* [Simulator] Create RadioKeyWidget class for UI buttons & refactor ButtonsWidget; Refactor SimulatedUIWidget (and subtypes) to use new RadioKeyWidgets/ButtonsWidget; Centralize help text for key mappings and get creative with some icons; Simplify some radio UI setups with rectangular buttons.

* [Simulator] Convert all simulator data I/O to signals/slots mechanism:
    * SimulatorInterface/OpenTxSimulator:
       - Now inherits from QObject to allow signal/slot interface;
       - Allows data exchange on a per-item basis (eg. each I/O value is treated separately instead of sending whole arrays or structs of data);
       - Checks for data changes and only emits signals when change is detected (GUI can now assume only new values are being sent);
       - Manages its own 10ms timer (doesn't rely on GUI to do that);
       - Sends "heartbeat" signals @ 1Hz for status monitoring;
    * Simulator GUI:
       - All data is exchanged between GUI elements as well as SimulatorInterface via signals/slots using standardized methods;
       - Data is sent immediately, and only, when actually changed (eg. a control is moved) instead of in bulk at specific time intervals;
       - Similarly, an asynchronous method is used for reading incoming data, w/out timers or loops;
       - Improve VirtualJoystickWidget to be more encapsulated and configurable;
       - Pause telemetry simulator if window is hidden;

* [Simulator] Move SimulatorInterface instance to separate thread, ensure safe asynchronous operations & proper timer interactions; Protect/remove some functions, & reorganize the order (cosmetics).

* [Simulator] Traces are now delivered to OpenTxSimulator and one or more QIODevice(s) can be added as recipient(s); Add SimulatorInterface::getCapability() for compile-time settings; Remove reversed POT1/SLIDER1 mixer exception (Taranis) requirement for SIMU; Fix plus/minus key delay on wheel event w/out encoder.

* [Simulator] Add current knob/slider/trim input value in tool-tips (KnobWidget and SliderWidget).

* [Simulator] Fix trims widget internal value not properly updating, and remove trim influence on virtual joystick X/Y value display (closes #4671).

* [SimulatorInterface] Add handling of transmitter input voltage, including a rough conversion of volts to ADC value for different boards, and default battery volts lookup function; Clear analogs array before starting.

* [Simulator] Add SimulatorInterface::init() method to separate pre-startup tasks; Report actual trim range, not just extended on/off; Change how radio widget states are restored; VirtualJoystickWidget: Connect trim changes directly from simulator, connect joystick events directly, report stick mode directly instead of setting values/constraints externally.

* [Simulator] Calculate default Tx V input based on configured range in radio settings (or warning V+2 for radios which don't support a range).

* [Simulator] Add functional aux. trims for Horus (closes #4699).

* [Companion] Remove problematic QMessageLogContext from AppDebugMessageHandler::messageOutput().

* [Simulator] Prevent trim change via slider if disabled for flight mode (closes #4600).

* [OpenTxSimulator] Fixes for Qt < 5.4.

* [OpenTxSimulator] Fix slot name.
2017-04-02 12:17:37 +02:00
Max PapernoandBertrand Songis 5dabe53af4 Minor misc. fixes (#4729)
* [Simulator] Remove extraneous format value in microsTimer; Better way to delete SimulatorStartupDialog (in case no event loop starts).

* [Simulator] No helpers dependency for SimulatorStartupDialog.

* [simpgmspace] Rename micros timer function and make externally available.

* [Companion] Fix possible uninitialized value in TreeModel (compiler warning).

* [multi_arm] Fix minor compiler warning (MSVC: "unsafe mix of type 'uint8_t' and type 'bool' in operation").

* [lua] Fix compiler warning ("'data' may be used uninitialized in this function").

* [OpenTxSimulator] Fix analogs array range.

* [Simulator] Auto-start simulator when SimulatorMainWindow is first shown (vs. before it was shown).

* [Simulator] DebugOutput: prevent possible mutex deadlock on buffer overflow (force queued connection for Qt < 5.3).

* [Companion] Display calibration data for Horus joysticks (MOUSE1/MOUSE2)
2017-04-01 08:13:24 +02:00
Damjan AdamicandBertrand Songis 9c7c8244f4 Fixes #4715: model notes were read from the settings path, but should be read from SD card path (#4728) 2017-04-01 08:11:16 +02:00
Damjan Adamic fa275793ad simpgmspace CoGetOSTime() was returning wrong values (too big) 2017-03-31 19:52:20 +02:00
Max PapernoandBertrand Songis 3eb39ddac2 [build] Add "all-libsimulators" target to build all simulator flavors at once. (#4710)
* [build] Add "all-libsimulators" target to build all simulator flavors at once.

* [build] Refine the "all simulators" target setup and deal with GNU 'make' parallelism issue (ninja=faster); rename to "all-simu-libs".
2017-03-29 15:46:48 +02:00
Max PapernoandBertrand Songis 6709c55fea [Simulator] Fix timing issues in all AVR simulators on Windows (MSVC) (#4709)
* [simpgmspace] Fix 2MHz and 16KHz timers on MSVC builds (fixes LCD/key/switch response delay on all AVR simulators); Introduce experimental use of Qt to simplify x-platform code (disabled by default).

* Qt timer scaling fix.
2017-03-29 15:44:51 +02:00
Max PapernoandBertrand Songis f5ab145d2f [Companion] Show custom control names throughout the UI (& internal refactoring) (#4693)
* [Companion] Introduce new Boards class to further consolidate hardware metadata and remove some globals.

* [Companion] * RawSource::toString() and RawSwitch::toString() can now return custom hardware names (if given a GeneralSettings object) for the following types (respectively):
    SOURCE_TYPE_STICK, SOURCE_TYPE_SWITCH, SWITCH_TYPE_SWITCH, & SWITCH_TYPE_MULTIPOS_POT;
* RawSource::isPot() and isSlider() can now return their own index position in potConfig[]/sliderConfig[];
* Switch indicator strings can be localized if necessary.

* [Companion] Refactor model printers to use new RawSource/RawSwitch capabilities; Simplify model-to-printer mapping scheme in multimodelprinter; Use const ModelData pointer.

* [Companion] Refactor how RawSource and RawSwitch selection combo boxes are populated, using cache-able data models instead of direct manipulation; Refactor some other Helpers function into their own namespace.

* Cosmetics & forgotten qualifier.
2017-03-27 19:02:19 +02:00
Max PapernoandBertrand Songis d68778ec81 [Simulator] Virtual joystick tweaks. (#4666)
* [Simulator] Create a reusable RadioTrimWidget; Move all trim-related enums to boards.h; Make sure aux trims are accounted for in SimulatorInterface; Trims now use toolbuttons with icons instead of pushbuttons with text.

* [Simulator] New buttons & icons for virtual joystick axis hold/fix toggles; Joystick ball is now slightly scaled to stick area.

* [Simulator] Virtual joystick now "follows" mouse clicks within the stick area (left-click on empty space will attract the control node).
2017-03-22 21:05:27 +01:00