Commit Graph

318 Commits

Author SHA1 Message Date
Klaus Basan
9b424d7287 Clang warnings (QtC) static_cast 2019-09-16 22:40:51 +01:00
Mat Sutcliffe
b36172437b Ref T710 Propagate libxplanemp CSL load error messages as swift validation errors. 2019-09-16 22:40:45 +01:00
Mat Sutcliffe
cb8eb6569e Improved the readability of the loadCslPackages function.
Summary:
In this function, a local class `Prefix` is used to represent the path
of a CSL package and to test whether a model path is a subpath of that
path. To avoid false positives, a trailing `/` character is appended.

This lead to confusing code where a `/` is appended in the first loop
and then chopped in the second loop. Instead, encapsulate the append
and the chop inside the `Prefix` class.

Differential Revision: https://dev.swift-project.org/D107
2019-09-16 22:40:43 +01:00
Klaus Basan
08d7cddfe5 Style 2019-09-16 22:40:40 +01:00
Klaus Basan
b8ba7940ff Style 2019-09-16 22:40:35 +01:00
Klaus Basan
fab65c23b1 Ref T554, changed signature to pass model (object) and not only modelstring
Allows to test if data have changed before "remembering them for auto publish"
2019-09-16 22:40:34 +01:00
Klaus Basan
7ee2814c73 Smaller improvements in matching messages/style 2019-09-16 22:40:30 +01:00
Klaus Basan
cb77279b4d Renamed function id Directory utils and added string only version 2019-09-16 22:40:27 +01:00
Klaus Basan
58b7c875bc Minor performance improvement of subdir check
* follow T689
* no need to always get and init simulator directory as it will not change
2019-09-16 22:40:12 +01:00
Mat Sutcliffe
73d3a341da Ref T689 Add validation that XP model directories are within the XP sim directory. 2019-09-16 22:40:06 +01:00
Klaus Basan
0360704b0b Ref T683, "updateOwnSituationAndGroundElevation"
* function to use own positions "on ground" to calculate ground elevation
* use this based on settings
* adjusted simulators code
2019-09-16 22:39:50 +01:00
Klaus Basan
daeea07090 Ref T683, style 2019-09-16 22:39:49 +01:00
Klaus Basan
71e09b008f Ref T681, renamed to rememberElevationAndSimulatorCG and style 2019-09-16 22:38:08 +01:00
Klaus Basan
a86e98ca3a Ref T669, also interpolation Ref T668, remove last sent values if aircraft is removed 2019-09-16 20:29:35 +01:00
Roland Rossgotterer
8943db5b2b Revert "[xSwiftBus] Automatically find and load CSL packages"
This reverts commit 61adfefa7a.
2019-05-15 17:19:56 +02:00
Roland Rossgotterer
61adfefa7a [xSwiftBus] Automatically find and load CSL packages
ref T657
2019-05-13 11:21:05 +02:00
Roland Rossgotterer
d21e9e60e8 Don't stop connection to xswiftbus if versions do not match
Keep the version error to bring it to the users attenion and convince him
to upgrade. But let the connection proceed since the interface changes so
rarely.
This also adds version information for swift and xswiftbus sides.

Reviewers: #gatekeepers, msutcliffe

Subscribers: msutcliffe

Maniphest Tasks: T628

Differential Revision: https://dev.swift-project.org/D104
2019-05-13 11:20:47 +02:00
Klaus Basan
2519241da8 Ref T632, remove invalid callsigns 2019-05-13 11:20:43 +02:00
Klaus Basan
94a5741537 Ref T632, verify empty callsign
THis is the fix:
"if (!simulatedAircraft.hasCallsign()) { continue; } // removed in provider"
2019-05-13 11:20:42 +02:00
Klaus Basan
599064fe6c Use models from centralized model cache
* no copy needed
* cache is synchronized when loading models
2019-05-13 11:20:40 +02:00
Klaus Basan
a553dfc708 Ref T632, minor improvements for no callsign 2019-05-13 11:20:40 +02:00
Klaus Basan
9fd3925238 Style 2019-05-13 11:20:40 +02:00
Klaus Basan
927903ec53 XSwiftBus spelling 2019-05-13 11:20:39 +02:00
Mat Sutcliffe
7e25360d3c Ref T603 Different message if xswiftbus version string is empty. 2019-05-13 11:20:32 +02:00
Roland Rossgotterer
ac90b3c069 Replace Q_ASSERT with BLACK_VERIFY 2019-04-11 22:12:07 +01:00
Roland Rossgotterer
6b17f847e9 Fix and improve xswiftbus version mismatch warning 2019-04-11 22:12:03 +01:00
Klaus Basan
12a6e17fa2 XPlane JSON file 2019-04-11 22:11:59 +01:00
Mat Sutcliffe
e9a4c49d68 Ref T547 Update license masthead in all source code files. 2019-02-22 20:36:43 +00:00
Roland Rossgotterer
9d1299741e [GFS] Use Pressure at MSL instead of surface
Pressure at surface level was the wrong value. All barometers and
altimeters use pressure reduced to mean sea level. Reading that value
from GFS instead returns much more reasonable values.

ref T537
2019-02-22 20:36:20 +00:00
Roland Rossgotterer
9a7af86a5e Loop over the container itself instead of a temporary value list 2019-02-22 20:35:17 +00:00
Roland Rossgotterer
8df4024bde Regularly update X-Plane simulated aircraft
The simulated aircraft object has been set only once for each X-Plane aircraft as soon as adding to the simulator succeeded. Any updates to transponder codes, modes etc. were missed and never updated.
To make sure we always have the latest information available, we update all known X-Plane aircraft every second in the slow timer tasks.

Manifest Tasks: T502
2019-02-22 20:35:17 +00:00
Mat Sutcliffe
225ff81252 Ref T485 Adjust CLogMessage and CStatusMessage call sites to use the new API. 2019-02-22 20:34:55 +00:00
Roland Rossgotterer
d639187f91 Convert static common simulator plugins to shared ones
Test Plan:
- Check that the new shared libraries are packaged in all platform installers.
- check that plugins are loaded properly on all platforms.

Reviewers: #swift_pilot_client, msutcliffe

Reviewed By: #swift_pilot_client, msutcliffe

Maniphest Tasks: T471

Differential Revision: https://dev.swift-project.org/D79
2019-02-22 20:34:50 +00:00
Mat Sutcliffe
6c05c5249d When calling arg() on a QString constructed from a literal, use QStringLiteral. 2019-02-22 20:23:47 +00:00
Mat Sutcliffe
4344ca1a77 Suppressed clazy false positives: method potentially mismarked as slot. 2019-02-22 20:23:39 +00:00
Mat Sutcliffe
8979b5257e Fixed clazy warnings: returning void expression. 2019-02-22 20:23:34 +00:00
Mat Sutcliffe
e32ea65a27 Fixed clazy warnings: fully-qualified signal parameter types. 2019-02-22 20:23:34 +00:00
Klaus Basan
40ae7174a7 Ref T470, detect NULL cg 2018-12-14 19:57:29 +01:00
Klaus Basan
f841d57448 Avoid crash by checking disconnected before requesting elevation 2018-12-11 21:34:14 +01:00
Roland Rossgotterer
74e084c6e8 Compare transponder and not only the transponder code
The last refactoring introduced a bug causing only X-Plane transponder code changes to be detected by swift - transponder modes were ignored.
2018-12-11 17:42:51 +01:00
Klaus Basan
c591728e88 Aircraft ICAO code of own model is wrong
Although the reverse lookup of a model is correct, it's aircraft ICAO code is wrong

Issues found

* in the driver the ICAO code is permanently overridden -> commented out
* there are two contexts, own aircraft and simulator, but only one uses reverse lookup -> now both
* using Qt::QueuedConnection for context -> GUI
2018-12-11 00:51:31 +01:00
Roland Rossgotterer
c27d401e70 Remove SystemBus from XSwiftBus connection options 2018-11-29 20:54:26 +01:00
Roland Rossgotterer
db7ed76bc5 Refactor listening for and connecting to XSwiftBus
- Use common function for Session and P2P connections
- Don't use the DBus service watcher as it did not allow to test in regular intervals
- Add a XSwiftBus version check to X-Plane listener
- Try to initialize and acquire multiplayer planes in checkConnection() already and warn the user if any of those failed. The plugin will be loaded only if everything succeeded.
2018-11-29 20:54:26 +01:00
Roland Rossgotterer
49bd38d722 [XSwiftBus] Add hasMultiplayerPlanesAquired() DBus API
This function will return whether X-Plane multiplayer planes have been acquired by XSwiftBus or if not, who else acquired them.
2018-11-29 20:54:26 +01:00
Roland Rossgotterer
55c2e2e559 [XSwiftBus] Add getVersionNumber to DBus API
This allows to get the version number of XSwiftBus itself. It maintains the same version as swift (e.g. 0.8.7 without the time stamp) and can be used to compare it for compatibility reasons.

ref T394
2018-11-29 20:54:26 +01:00
Roland Rossgotterer
ec8245ea53 [XSwiftBus] Give PQ variables a unit
ref T313
2018-11-29 20:54:26 +01:00
Klaus Basan
64b0ec87b1 Ref T423, changed strategy to force position updates
* force update for "some time", and remove all sent information
* no longer update some cycles, but for some time
* updated FSX/P3D/XPlane drivers
2018-11-16 02:49:52 +01:00
Klaus Basan
2b8e388ba1 Ref T423, force update if simulator was paused or interrupted before
* force full updates for some cycles "m_updateAllRemoteAircraftCycles"
* only use "emitSimulatorCombinedStatus" to emit changed simulator status
* renamed to "finishUpdateRemoteAircraftAndSetStatistics"
* override "forced" in "getInterpolationSetupConsolidated"

This addresses the issue that aircraft appear below ground after moving the aircraft
2018-11-06 01:41:47 +01:00
Klaus Basan
93bcbc0755 Ref T421, function to get interpolation messages from the simulator drivers 2018-11-04 17:42:47 +01:00
Roland Winklmeier
92790f1330 Refactor updateCockpit from X-Plane
X-Plane returns com frequencies in 10 kHz, so we don't have the necessary
precision for the 25 kHz spacing. By using CComSystem::setFrequencyActive
we get the rounding to the system wide spacing for free.
Without that correction we run into system wide issues in code that assumes
the correct frequency spacing is in place.

ref T399
2018-11-04 17:42:42 +01:00