Commit Graph

87 Commits

Author SHA1 Message Date
Klaus Basan
5881e81d56 Ref T610, support for XPlane COM volume and receive/transmit
* proxy and
* DBus service functions
2019-08-28 02:51:32 +02:00
Klaus Basan
a5cefcf18c Ref T709, style 2019-08-11 23:15:47 +01:00
Klaus Basan
f2bf038501 Ref T709, send XSwiftBusSettings when driver is connected
* send from swift -> XPlane side
* also send if settings on swift side are updated
2019-08-11 23:15:47 +01:00
Klaus Basan
dab3e03d0b Ref T709, change XPlane driver to TXSwiftBusSettings, send/receive functions 2019-08-11 23:15:46 +01:00
Klaus Basan
c7f3122d58 Style 2019-07-16 20:22:39 +02: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
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
9fd3925238 Style 2019-05-13 11:20:40 +02:00
Mat Sutcliffe
e9a4c49d68 Ref T547 Update license masthead in all source code files. 2019-02-22 20:36:43 +00: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
93bcbc0755 Ref T421, function to get interpolation messages from the simulator drivers 2018-11-04 17:42:47 +01:00
Klaus Basan
a871579479 Ref T370, added public removeAllRemoteAircraft
* protected clearAllRemoteAircraftData
* ISimulator::clearAllRemoteAircraftData no longer calls clearAllRemoteAircraftData (circular)
2018-09-25 02:14:00 +02:00
Klaus Basan
7e9f3a6c7f Ref T342, distance of airport can be recalculated 2018-09-12 17:40:38 +02:00
Klaus Basan
68beaa6d9d Ref T312, added checkImpl/check in simulator listeners 2018-08-27 18:58:15 +02:00
Roland Winklmeier
488ff96ce6 Add DBus P2P support to XSwiftBus
ref T291
2018-08-07 20:40:43 +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
d0adcc98cb Ref T289, merge CSimulatorCommonn/ISimulator 2018-07-12 18:29:36 +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
bc0b4502cf Ref T275, move some simple implementations into ISimulator
Goal: merge CSimulatorCommon/ISimulator
2018-06-27 12:49:08 +02:00
Klaus Basan
0f931eeeb3 Ref T268, moved changeRemoteAircraftModel/Enabled to CSimulatorCommon and removed duplicated code 2018-06-13 14:00:09 +02:00
Roland Winklmeier
33963041cc Implement followAircraft for X-Plane
ref T266
2018-06-13 13:59:13 +02:00
Roland Winklmeier
794137fc94 Align the CSimulatorXPlane API with its base class
Some functions were protected in the base class and in a different order.
This is all corrected now.
2018-06-02 02:08:48 +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
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
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
Klaus Basan
52dd7a754c Ref T259, Ref T243 access to last interpolated situation to check if near ground 2018-05-04 23:03:08 +02:00
Roland Winklmeier
e1538573fe Remove old xswiftbus interpolator code
ref T259
2018-04-13 23:37:45 +02:00
Klaus Basan
9abc57bb3d Ref T259, Ref T243 remove aircraft parts and situations from interpolator
* no longer using the add parts/situations signals
* will use the remote aircraft provider parts directly

Result: all parts/situations are stored only once in memory and in one single place
2018-04-13 23:37:37 +02:00
Klaus Basan
03af49348b Ref T259, Ref T243 formatting 2018-04-05 02:53:55 +02:00
Klaus Basan
9517ce7d7c Ref T259, formatting 2018-04-05 02:52:50 +02:00
Klaus Basan
34502b6b76 Ref T259, renamed CXPlaneMPAircrafts to CXPlaneMPAircraftObjects
* there is no plural for aircraft
* so the same style as for simObjects was used
2018-04-05 02:52:48 +02:00
Klaus Basan
13ede9fac1 Ref T259, only remove aircraft after data have been used, otherwise a dangling reference causes a crash 2018-04-05 02:52:45 +02:00
Klaus Basan
41109dd761 Ref T259, some adjustments to our latest style
* no private slots
* timers as members
2018-04-05 02:52:43 +02:00
Roland Winklmeier
72497fdefc Regularly request remote aircraft data from X-Plane
This includes
* ground elevation
* model offset (to be implemented)

ref T259
2018-04-05 02:52:26 +02:00
Roland Winklmeier
4db0b83310 Move X-Plane interpolation into driver
ref T259
2018-04-05 02:52:20 +02:00
Roland Winklmeier
de4fe44156 Fix sending the correct pressure altitude for a pilot position
* Before this commit, only the true altitude was known for an aircraft situation. The pressure altitude was not available anywhere yet.
* This caused a wrong altitude in radar clients.
* We fix this reading the pressure altitude from the simulators and set it in the own aircraft situation.
* MS Flight Simulators have the pressure altitude in the APIs available.
* For X-Plane and emulated simulator, we need to calculate it from the pressure at sea level.
* Finally, we use the new available pressure altitude to send it to the FSD server.

Maniphest Tasks: Ref T223
2018-01-15 22:49:08 +01:00