Commit Graph
10946 Commits
Author SHA1 Message Date
Bertrand SongisandGitHub df0e306458 Update DONATIONS.txt 2017-04-11 07:48:23 +02:00
Max PapernoandBertrand Songis d864a67c3b [Companion] Restore model drag/drop/compare, many UI improvements to main and sub-windows. (#4769)
* [Companion] Refactor MdiChild & TreeModel, restore drag/drop, and more:
    * Add full drag-and-drop functions to the models list, including model copy, move, and insert actions (also between windows);
    * Add general radio settings copy/paste across file windows;
    * Full MIME support with distinct types for various data (eg. models vs. general settings), also add new type for metadata (header);
    * Copied/cut models can now be inserted in any spot (similar to drop-insert);
    * Deleted/cut models can now be removed entirely (including the empty slot) for all radio types (any models after the removed one move up, like for Horus) (may need to make this an option);
    * Empty model slots can now also be removed (any models after the removed slot move up)  (but total # of slots is still maintained);
    * Default model can be deleted (new default is picked);
    * Completely revamp the actions system (copy/paste/edit/etc) to make it fully functional:
      * Actions exist in the window, not just context menu, therefore all keyboard shortcuts actually work, w/out any duplicated code;
      * Provides access from MainWindow in a comprehensive manner: all actions are available and properly updated based on selections in current editor window, w/out awkward event monitoring;
      * More actions available from context menu, and somewhat reorganized;
      * Also show all actions on mini toolbars right in the MDI window (possibly make optional later);
      * Updated English localization file to account for plurals usage in new action item names (other languages need to be updated);
    * Keyboard navigation in the model list now works/practical;
    * MDI window uses all available height by default;
    * Newly added models/categories are selected and highlighted; Category names are immediately editable; Model editor is/can be launched if wizard is not (need to make option);
    * MainWindow updates:
      * Edit toolbar and menu now showing all available edit actions, with proper context;
      * File menu properly updates with all "general" radio actions: edit/copy/paste settings and simulate radio;
      * Added Windows menu showing list of open windows (eg. to switch when full screen) and tabbed window option (need to make persistent setting);
      * Immediate update of icon size preference;
      * Do not delete toolbars when re-translating UI (they don't lose assigned position);

* [Companion] Restore model compare functionality by using new MIME data exchange system; Add ability to compare any number of models at a time; Multi-model printer now shows custom hardware settings for each dropped model (even from different radios).

* [Companion] Add missing monoblue & monowhite theme sdsync icons.

* [Companion] Model wizard starts with default model name populated.

* [Companion] Properly re-translate UI instead of recreating all the actions/etc.; Tell Mac specifically where to put our actions (seems to make it happier too).

* [Companion] Further improve handling of Window menu items/detection of sub-window changes.

* [Companion] Add file-close action.

* [Companion] Add user options and save preferences:
    * Option to use wizard, open editor, or do nothing on new model creation;
    * Option to remove empty model slots when deleting/moving models (in non-Horus radios);
    * Options to hide toolbars in document windows (r-click on TBs);
    * Save/restore size of document windows, and maximized/tabbed state;
    * Save/restore size/position of model compare window;
    * Add shortcuts for model compare, FW download, log viewer;

* [Companion] Disable being able to "delete" empty model slots (more awkward than helpful).
2017-04-10 19:29:41 +02:00
3djc 9c19889309 Remove trailing silence from audio files 2017-04-10 13:16:39 +02:00
3djc 0a1cacf77c Fixes to BattCheck widget 2017-04-10 10:39:14 +02:00
Andre Bernet eca531d743 More translation fixes 2017-04-10 10:14:15 +02:00
Andre Bernet 3326ff3f61 Translation fixes 2017-04-10 09:31:37 +02:00
3djcandBertrand Songis d4c3ff743b 3djc/x7 draw timer (#4764)
* 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
2017-04-08 16:59:21 +02:00
Bertrand Songis d04cb84c5b Update DONATIONS file on 'next' 2017-04-08 12:41:36 +02:00
Bertrand SongisandGitHub 0359cb244e Bsongis/server compilation fix (#4763)
* Fix following automatic server emails

CMake options:
-DTHR_TRACE=YES -DVARIO=YES -DGAUGES=NO -DAUTOSWITCH=YES -DTRANSLATIONS=FR -DACCURAT_THROTTLE_STATS=NO -DSP22=NO -DPCB=9X -DARITHMETIC_OVERFLOW_CHECK=NO -DFONT=SQT5 -DHELI=NO -DEEPROM_PROGRESS_BAR=YES -DTEMPLATES=NO -DFRSKY_STICKS=NO -DVOICE=NO -DDBLKEYS=NO -DGRAPHICS=YES -DFAI=YES -DBATTGRAPH=YES -DTURNIGY_TRANSMITTER_FIX=NO -DPWM_BACKLIGHT=NO -DNAVIGATION=NO -DBOLD=YES -DDSM2=NO -DGVARS=NO -DAUTOSOURCE=YES -DCURVES=NO -DWS_HOW_HIGH=YES -DPPM_LIMITS_SYMETRICAL=NO -DHAPTIC=NO -DUNITS=METRIC -DPPM_UNIT=PERCENT_PREC1 -DAUDIO=YES -DGPS=NO -DPPM_CENTER_ADJUSTABLE=NO -DSPLASH=YES -DFAS_OFFSET=NO -DFLIGHT_MODES=NO -DOVERRIDE_CHANNEL_FUNCTION=YES

* Fix some missing translations for avr

* Compilation fixes
2017-04-08 12:39:30 +02:00
3djcandBertrand Songis 76f3edb50d Handles premature exit (no pun intended) (#4762) 2017-04-08 10:32:59 +02:00
3djcandBertrand Songis 116d24ec37 Horus : adjust INVERS background for all text sizes (#4755)
* Adjust INVERS background for all text sizes

* More proper fix (I think)
2017-04-08 10:32:30 +02:00
Andre Bernet 87c45beba2 Remove throttle reverse warning for AVR too 2017-04-08 10:32:10 +02:00
Andre Bernet db48158956 Main view index is now in model settings (fix #4761) 2017-04-07 19:52:28 +02:00
Andre Bernet f3d56d31c0 Export Horus joystick to lua 2017-04-07 18:45:59 +02:00
Max Paperno ee50096754 [Companion] Fix another possible crash during model conversions (divide by zero). 2017-04-07 04:46:50 -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
3djcandBertrand Songis 3a8f9adb4d Enable set binding mode as a firmware option for frsky radios (#4743)
* Enable set binding mode as a firmware option for frsky radios

* Improvements based on Bertrand's comments

* Last feedbacks
2017-04-06 22:36:10 +02:00
Andre BernetandBertrand Songis 8794f45816 Check for confirming inversion of throttle channel is no more possible since Virtual Inputs got introduced (Fix #4757) (#4758) 2017-04-06 22:34:11 +02:00
3djcandBertrand Songis b291faf7a7 Add unit to lua getFieldInfo (#4750)
* Create getUnit lua function

* Cosmetics

* Expend getFieldInfo instead of creating a new function

* Streamline units table

* @projeckk2glider comments

* Cosmetics

* Use simple division
2017-04-06 22:31:17 +02:00
3djcandBertrand Songis 537fe906ce Add GVAR handling similar to X9 (#4749) 2017-04-06 22:30:50 +02:00
Max Paperno 339592d681 [Companion] Fix model setup panel not being populated with data upon initial load (since 4c0dbfc). 2017-04-05 03:56:31 -04:00
Sebastien CharpentierandGitHub 3d7d57df7c Fixed typo 2017-04-04 15:39:31 +02:00
3djc 0cdff35bd3 More italian plural unit support (that will just say something, since I do not speak italian, don't know if it will be right) 2017-04-03 09:50:53 +02:00
3djc e7c882e826 Needed for #4742 2017-04-03 09:35:51 +02:00
3djc 7e8cec005b Fix #4742 2017-04-03 09:03:07 +02:00
Sebastien CharpentierandBertrand Songis e264a06670 Updated French translation. (#4740)
* Updated French translation.

* Fixed some mistakes.

* Updated kebyboard shortcut according @mpaperno comment.
2017-04-02 22:24:10 +02: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 36bb951314 [Companion] Radio profile/current firmware handling: (#4737)
* Fix possible confusion/data corruption when deleting radio profile (closes #4734, ref: #4686);
    * Add Delete Profile action to Radio Profiles menu (closes #4736) (but remove from from app prefs. panel);
    * Add confirmation prompt before deleting profile;
    * Open profile settings dialog when creating/copying a profile (closes #4735);
    * Make sure current (global) firmware flavor is properly updated when changing fw type/options in profile;
    * Append "-Copy" to name of copied profile;
    * Factor out Firmware global vars/functions in favor of static members.
2017-04-02 12:17:06 +02:00
Arne SchwabeandBertrand Songis 8d0db05e78 Copy useful links from 2.1 to 2.2 (#4732) 2017-04-02 12:16:12 +02:00
Max Paperno 8b61cd56bc [Simulator] Prevent two possible concurrency issues with FIFOBufferDevice/FilteredTextBuffer. 2017-04-01 20:50:13 -04: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
3djcandBertrand Songis b22e45cf18 Companion : display warning on eeprom upgrade (#4724)
* Display warning on eeprom upgrade

* Use existing function
2017-04-01 08:10:46 +02:00
Damjan Adamic fa275793ad simpgmspace CoGetOSTime() was returning wrong values (too big) 2017-03-31 19:52:20 +02:00
Max Paperno 9d3960f0f5 [Simulator] TelemetrySimulator: Fix instance values not being populated with radio settings (also now reloads instance values with rest of radio data). (closes #4711) 2017-03-31 13:19:12 -04:00
Damjan Adamic 2aebcb842a Lua docs update: lcd.drawText() added link to fonts 2017-03-31 18:33:48 +02:00
3djcandBertrand Songis e2722509f7 Instead of copying current profile, start from a blank one (#4714)
* Instead of copying current profile, start from a blank one

* Handle both add profile (which add a new (ie blank) one) and copy current profile which behaves like before (but says it)

* Avoid duplicate code
2017-03-31 16:14:00 +02:00
3djcandBertrand Songis b17a6d470f Only allow saving to OTX format (#4727) 2017-03-31 16:13:36 +02:00
3djcandBertrand Songis d1cacc2f0f Use filename when no name is defined (#4726) 2017-03-31 16:12:43 +02:00
3djc 9ff1dab6b8 Hide non working serial2 for Horus 2017-03-31 10:06:34 +02:00
Max PapernoandBertrand Songis 369bac9950 [Companion] Improve handling of non-supported splash image (Horus) in radio profile settings page. (#4720) 2017-03-31 07:56:22 +02:00
Max PapernoandBertrand Songis 4c0dbfcb6c [Companion] Make simulator startup from ModelEdit panel act the same as simulating a model from the models list widget (that is, including the other radio data as well); Simplify some code, remove automatic signal connections and use new syntax. (#4721) 2017-03-31 07:55:25 +02:00
Arne SchwabeandBertrand Songis 965849ee41 Small progress on German translations (#4719) 2017-03-31 07:53:40 +02:00
3djc 89bfd6dcf4 Earlier is better 2017-03-30 08:43:50 +02:00
3djc 361b2b707f Do not recompile if firmware is already there
Always print filename on compile error so that the email handler can attach the error log
2017-03-30 08:15:58 +02:00
3djcandMax Paperno 443d75c0ac Make default category translatable (with dev warning) (#4712) 2017-03-29 15:10:29 -04: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
Arne SchwabeandBertrand Songis 10c6c9a1ec Add DM002 multipl protocol (#4716) 2017-03-29 15:43:16 +02:00
Andre Bernet 19e3fba836 [companion] Update all translation files 2017-03-28 11:16:07 +02:00