Commit Graph

136 Commits

Author SHA1 Message Date
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
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
Roland Winklmeier
c72742029b [XSwiftBus] Set transponder info for all rendered aircraft
Without setting the transponder, no TCAS rendering is possible.

ref T374
2018-10-05 17:39:44 +02:00
Roland Winklmeier
fe97276ee8 Set X-Plane major and minor version in simulator details
ref T339
2018-09-17 18:28:23 +02:00
Klaus Basan
7e9f3a6c7f Ref T342, distance of airport can be recalculated 2018-09-12 17:40:38 +02:00
Roland Winklmeier
3804612bed Fix the initial weather request in case last position is null
calculateGreatCircleDistance returns false immediately if any of the
arguments was null.

ref T324
2018-09-12 17:01:51 +02:00
Klaus Basan
68beaa6d9d Ref T312, added checkImpl/check in simulator listeners 2018-08-27 18:58:15 +02:00
Klaus Basan
15500c41db XPlane Clang/PQ integer fixes 2018-08-16 14:44:15 +02:00
Klaus Basan
359d56b6f6 Weather uses null altitude, https://swift-project.slack.com/archives/G7GD2UP9C/p1534378412000100 2018-08-16 14:44:14 +02:00
Roland Winklmeier
05e0480bb4 Move XPlane gnd flag handling from parts to situation
ref T276
2018-08-07 20:40:57 +02:00
Roland Winklmeier
488ff96ce6 Add DBus P2P support to XSwiftBus
ref T291
2018-08-07 20:40:43 +02:00
Klaus Basan
fbfbdedb65 Ref T294, display simulator internals correctly
* view rows not selectable
* added settings to ISimulator
* ISimulator implements initSimulatorInternals() and sets default values
* also display plugin name
* XPlane using initSimulatorInternals()
2018-07-31 01:43:27 +02:00
Klaus Basan
14faf5136a Ref T268, XPlane testing showed: height has an influence on the returned elevation result
* the most accurate value seems to be returned if the height is close to the elevation
* in normal scenarios there is no much difference of the results if 0 is used
* in Lukla (9200ft MSL) the difference between 0 and 9200 is around 1ft
* in the LOWW scenario using 50000ft MSL results in around 3ft too low elevation
2018-07-19 02:52:16 +02:00
Klaus Basan
88098dddf7 Ref T268, allow to log loopback situations
* those are situations reported back from simulator
* and can be logged
2018-07-19 02:52:06 +02:00
Klaus Basan
52513db63f Ref T290, XPlane refactoring
* typo getRemoteAircraftsData -> getRemoteAircraftData (no "s")
* typo getEelevationAtPosition (double "Ee")
* get functions "const"
* added unit for some variables such as latitudeDeg
2018-07-17 19:04:50 +02:00
Klaus Basan
80cee12fdb Ref T246, utility for 1st model set directory
* remove empty enries in directories
* allow to add directory
* detect same directories and avoid duplicates
2018-07-14 19:45:21 +02:00
Klaus Basan
a508ad4ccb Ref T268, check in XPlane driver 2018-07-12 18:29:40 +02:00
Klaus Basan
df869373e8 Ref T268, XPlane driver improvements
* 2 queues, one for pending "to be added" aircraft and one for "adding in progress" (easier timeout detection)
* disconnect DBus when unloading
* check if aircraft "are still in range" before adding
* adding to XPlane only in one place
* data for aircraft can be explicitly request and are requested directly when an aircraft has been added
2018-07-09 22:30:48 +02:00
Klaus Basan
79c1691fdc Ref T268, Xplane driver style/renaming 2018-07-09 22:30:47 +02:00
Klaus Basan
1ba99b5392 Ref T268, XPlane to do not request updates of values "not near ground" 2018-07-09 22:30:44 +02:00
Klaus Basan
ca87784509 Ref T275, remember CG per model string 2018-07-09 22:30:22 +02:00
Klaus Basan
0f931eeeb3 Ref T268, moved changeRemoteAircraftModel/Enabled to CSimulatorCommon and removed duplicated code 2018-06-13 14:00:09 +02:00
Klaus Basan
f3edf14186 Ref T273, Ref T275 XPlane uses simulator common function to skip sending equal parts/situations 2018-06-13 13:59:56 +02:00
Klaus Basan
181ed36f3d Ref T270, interpolator optimization by passing aircraft number
Rational: Except for FS9 we interpolate all aircraft in one loop at the same time. This can cause that some steps are always done at the same time for all aircraft of that loop. By passing the number we can more equally distribute such tasks, avoiding peaks.
2018-06-13 13:59:39 +02:00
Klaus Basan
aa7363dcad Ref T270, Ref T268, plugin common / simulator improvements
* connect with "about to quit"
* added interface declarations
* sim statistics, use common function setStatsRemoteAircraftUpdate and double for average values
2018-06-13 13:59:22 +02:00
Roland Winklmeier
c437c2eabd Simplify the X-Plane traffic plane positions and surfaces API 2018-06-13 13:59:14 +02:00
Roland Winklmeier
33963041cc Implement followAircraft for X-Plane
ref T266
2018-06-13 13:59:13 +02:00
Klaus Basan
8a522b5e6d Ref T270, signal requestedElevation 2018-05-29 00:56:37 +02:00
Klaus Basan
2ae8f5b03f Ref T270, added CSimulatorPluginCommon as base class in driver project
* unlike BlackCore::CSimulatorCommon we can add also UI aspects here
* used by emulated driver, XP and the FS series
2018-05-18 00:25:11 +02:00
Roland Winklmeier
d743ec98fa Remove unused code 2018-05-12 21:40:04 +02:00
Roland Winklmeier
2fd4d286d6 Refactor retrieving remote aircraft data
Instead of requesting it individually for each callsign and waiting for a
signal from xswiftbus, pass in a list of callsigns and use async callback
to read the data.
2018-05-08 16:06:57 +02:00
Roland Winklmeier
bf8ed5c006 Load X-Plane remote aircrafts one by one sequentially 2018-05-08 16:06:57 +02:00
Roland Winklmeier
0ad18cd0a4 Fix sending of parts to X-Plane 2018-05-08 16:06:56 +02:00
Roland Winklmeier
848da69fe1 Group sending of all plane positions and surfaces into a single DBus call 2018-05-08 16:06:56 +02:00
Klaus Basan
0808cdb223 Ref T261, further unify interpolator handling
* return interpolation results parts/situation in one step
* base class init for each interpolation step, less redundant code
* removed old interpolation/parts function
* adjusted unit tests and simulator objects (such as SimObject)
2018-05-08 16:06:52 +02:00
Klaus Basan
3d2a74a652 Ref T261, interpolator mode is now part of setup
* added attribute in setup
* adjusted UI
* adjusted interpolator / simulator functions
2018-05-08 16:06:49 +02:00
Klaus Basan
3031e5b648 Ref T261, set client provider in simulator
Needed to obtain client capabilities
2018-05-08 16:06:48 +02:00
Klaus Basan
1f3e5c6abf Formatting, minor tweaks 2018-05-08 16:06:43 +02:00
Klaus Basan
94a334ad75 Ref T259, Ref T243 use "getInterpolatedOrGuessedParts" in XPlane 2018-05-08 16:06:36 +02:00
Klaus Basan
6061a61d50 Ref T260, changed elevation handling in provider, simulator and FSX common driver
* split functions, added findClosestElevationWithinRangeOrRequest
* obtain elevation ids (separate ids are easier to track)
* also added experimental "physicallyAddAITerrainProbe" (FSX) for the FSX elevation probing
* callback / signal when requested elevation is received (async)
2018-05-08 16:06:35 +02:00
Klaus Basan
f1faeef84a Ref T259, Ref T243 added functions to use guessed parts in
* sim object
* XPlane aircraft
* forward aircraft model to interpolator for guessing
2018-05-08 16:06:32 +02:00
Roland Winklmeier
6a8ae67e06 [xswiftbus] Make xswiftbus completely Qt free 2018-05-08 16:06:30 +02:00
Roland Winklmeier
b278d9ee2f Group own aircraft DBus calls together
Previously all own aircraft values were request via single DBus calls.
Since DBus allows up to 8 values in its reply, use this mechanism
to group the requests and reduce the amount of single calls.
2018-05-08 16:06:29 +02:00
Klaus Basan
225d05d22f Ref T259, Ref T243 prepared sim.env.provider to request elevations 2018-05-04 23:03:28 +02:00