Commit Graph

54 Commits

Author SHA1 Message Date
Klaus Basan
880a954db9 refs #395, improvements for snapshot / restricted aircraft handling
* fixed isCurrentThreadCreatingThread and renamed to isCurrentThreadObjectThread (this check was never working), added 2 more thread checks
* changed remove aircraft function to return number of returned aircraft (like with the containers this allows to avoid unnecessary signals)
* removed unused function ps_recalculateRenderedAircraft() / SimulatorCommon
* using Queued airspaceAircraftSnapshot signal for binding (functor connect does not provide connection type)
* extened ASSERTs to check threads
* simulator: initial situation function with return value (success?)
* simulator: avoid unneccessary copy and provide correct rendered flag in add aircraft function
2015-05-22 03:08:16 +02:00
Klaus Basan
de43caf451 refs #420, refs #421 Adjusted FSX driver to emit correct status flags and unloading
* added unload function to disconnect signals / slots and simulator
* changed remote provider to return signal/slot connections to manually disconnect functor connects
* flag so pause can freeze or continue AI aircraft
* slightly changed unload behaviour in simulator context

Remark: Tested for FSX only
Solves #424 for FSX
2015-05-16 03:26:30 +02:00
Mathew Sutcliffe
b65232b202 MS & KB workshop: ICAO class renamings. 2015-05-12 22:47:54 +01:00
Klaus Basan
a6591cfe2c refs #395, allow to disconnect SIGNAL/SLOTS from provider and gracefully shutdown airspace and analyzer 2015-05-12 21:03:40 +01:00
Klaus Basan
f18cfed087 refs #395, refs #413, refs #403 Post merge tasks
* missing exports for new classes
* public non virtual convertToQString, propertyByIndex
* removed left-over of watchdog
* virtual destructor for avionicsbase.h
2015-05-12 21:03:39 +01:00
Klaus Basan
1c3bb8d463 refs #395, prepared for snapshot handling
* logical / physical add/remote member functions in drivers, renamed functions
* added access to snapshot
* snapshot generation in analyzer
* snapshot handling in driver
* moved simulator base class in own files (.h/.cpp)
* added functions as required to context
2015-05-12 21:03:35 +01:00
Klaus Basan
e9f7810efc refs #395, prepared for logical / physical add/remote member functions
* renamed functions
* added access to snapshot
* moved simulator base class in own files (.h/.cpp)
2015-05-12 21:03:34 +01:00
Klaus Basan
018c5ae1bf refs #395, integrated aircraft airspace snapshot / analyzer into remote provider
* added snapshot class
* added snapshot in analyzer, signal for new snapshot
* made all provider signals available in CSimulator
* added finders in CSimulatedAircraftList
* moved COwnAircraftProviderDummy into own file
2015-05-12 21:03:32 +01:00
Klaus Basan
1b9878fdd3 refs #395, some functions renamed in network provider/context
Goal: consistent function names in own and remote aircraft provider
2015-05-12 20:46:50 +01:00
Klaus Basan
3ecf37dda4 refs #395, changed own aircraft provider to thread safe member functions
(similar to remote aircraft provider)
* removed references
* made own aircraft context thread safe (reg. own aircrat data)
* removed the read only versions of the provider
* adjusted consuming methods
* renamed some functions ("ownAircraft...") to avoid ambiguity (with remote aircraft)
2015-05-12 20:46:48 +01:00
Klaus Basan
085edc82cb refs #395, post merge and rebase adjustments plus further testing fixes:
* adjusted iterim position updates
* removed deadlocks (thread safe values in airspace monitor)
* resolved some merge issues
* some smaller fixes in airspace monitor (style, finders)
2015-05-12 20:46:46 +01:00
Klaus Basan
6debd33b4f refs #395, turned remote aircraft provider interface into thread safe interfaces
* references gone, situations, parts, aircraft now as threadsafe copy
* read only interface gone (no longer references, so no longer needed)
2015-05-12 20:46:45 +01:00
Klaus Basan
79e2a7b805 refs #395, improved synchronization of booked and online stations
* moved sync functionality into CAtcStation
* consolidated function names
2015-05-12 20:46:43 +01:00
Klaus Basan
98812d3733 refs #395, shifted airspace watchdog into analyzer
* analyzer will run in background and perform several airspace calculations
* watchdog now acts directly on network signals, no need to add/remove callsigns
2015-05-12 20:46:39 +01:00
Klaus Basan
48188dd28d refs #395, moved thread safe aircraft parts / situations (from interpolator) to airspace
* access via provider, access now possible also beyond the scope of interpolator
* will be used in (to be written airpace analyzer)
* renamed some member functions as required
* fixed some asserts / Doxygen comments
* adjusted unit tests
* added vtolAircraft flag for interpolator, not fully used everywhere

remarks: update signals for parts / situation still only needed in XP driver
2015-05-12 20:46:38 +01:00
Klaus Basan
7b1beaf02d Introduced hint for callsign to specify callsign type (aircraft? ATC?) by context.
Background: Pilots can login in with virtually any callsign like XXX_OBS, resulting in wrong interpretations (as OBS here is no ATC station).
2015-05-12 20:46:36 +01:00
Klaus Basan
acec379151 refs #395, renamed to updateFastPositionEnabled (consistency with other member functions) 2015-05-12 20:46:35 +01:00
Roland Winklmeier
a13d90ada4 refs #403 add BlackCore shared library build 2015-05-05 21:34:28 +02:00
Roland Winklmeier
c77c0e484f refs #375 finish sending of interim positions
Airspace monitor knows all remote aircrafts and which have interim
positions enabled. It passes the list of receivers to INetwork
and INetwork sends it to FSD.
2015-04-23 22:06:32 +02:00
Roland Winklmeier
9079824ab9 refs #375 finished handling of interim packets
Interim packets are very close to normal position updates. It is
only missing transponder and speed information. On reception
of a interim packet, the information is added to a new
CAircraftSituation. The missing speed information is retrieved
from the last update.
2015-04-23 22:06:26 +02:00
Roland Winklmeier
6ab2abcf1a refs #377 Refactor custom FSinn packet handling
The names were a bit misleading, hence this patch does rename
the methods to something more obvious. It also changes the behaviour
of CNetworkVatlib to automatically answer a custom FSinn query.
In both cases the important details are extracted and signaled to
airspace monitor.
The airspace monitor will send FSinn queries only if the exact model
is not yet known. This would be the case when another client had
sent a FSinn query already.
2015-04-23 21:23:18 +02:00
Klaus Basan
aafee8eafd refs #402, post merge feedback by MS 2015-04-11 02:09:10 +02:00
Michał Garapich
985a1caecf refs #396 BlackMisc: nw* goes to network/, hw* goes to hardware/ 2015-04-07 19:22:37 +02:00
Klaus Basan
0ab755d510 refs #396 subfolders and renamed callsign list to callsign set
* subfolder audio
* subfolder geo
* adjusted samples, tests ....
2015-04-07 19:22:23 +02:00
Klaus Basan
32f60722c8 refs #396, move subproject BlackSim into BlackMisc::Simulation
* removed unused samples / tests
* fixed found Doxygen issues
* removed blacksimfreefunctions, now in BlackMisc::Simulation::registerMetadata()
* samples_vetcor_geo to samples_geo
2015-04-07 19:22:16 +02:00
Roland Winklmeier
78d3350bf3 refs #396 move Blackmisc Aviation classes into subfolder 2015-04-07 18:20:20 +02:00
Klaus Basan
066515fb9b As of RW/KB workshop
* changed aircraft view to siumlated aircraft models / views
* functionality to change fast pos. updates (signals, slots)
* allow to request text message widget from aircraft component
2015-03-20 17:11:23 +01:00
Klaus Basan
5ed95aee3d refs #391, allow to send aircraft parts from GUI
* GUI component for aircraft parts
* remote aircraft selector component
* Adjusted GUI for internals component
* Enable / disable debug messages from GUI
* Allow to init engines directly
* Removed unused async sort in sequence

In same step fixed found issues in interpolator
* allow to set max rendered aircraft
2015-03-20 17:08:23 +01:00
Klaus Basan
eca8c5b637 Reflecting discussed changes for interpolation performance refs #386
(based on FSX testing)
* Only send changed situation to SIM
* Split sending of parts / situations
* Only send parts with a reduced frequency (means slower as positions)
* Mark geodetic height as null for default values (the value is usually unavailable)
* Fixed altitude to MSL for network data
* Trace which aircrafts support aircraft parts via network
* Renamed insert_fron push_front (as proposed by Roland)

Status quo / lessons learnt
* On slower PCs jitter is still noticed for interpolated aircraft.
* Running interpolation in an independent process (aka core, not in GUI) reduced load dependencies
  => it seems to make sense to run driver in own thread
* The onGround flag in parts seems clumsy as it required to retrieve parts for position updates
* In interpolation performance really matters
2015-03-20 17:00:41 +01:00
Klaus Basan
ca6cd9c063 Disabled updates of airspace monitor's situations / parts
Currently not used, for performance testing
2015-03-20 16:49:31 +01:00
Klaus Basan
7e39587226 Passing connection status to airspace monitor.
When the network connection is terminated, airspace monitor
can still recevice pending signals from vatlib. Those have to be ignored.

Otherwise it can happen aircraft (.. etc.) are added again to airspace,
which gives inconsistent results.
2015-03-20 16:49:28 +01:00
Klaus Basan
190e2c3757 refs #386, performance issues
* keep split per callsign map in IInterpolator (so it is available for all interpolators)
* added signals to provider to add split situations / callsigns
* adjustments to airspace / context for those signals
* thread safe access to those from interpolator
* renamed from rendered to remote aircraft as discussed
* adjust samples
* removed no longer required functions in timestampobjectlist
2015-03-20 16:49:03 +01:00
Klaus Basan
f8bebf5ffa refs #386, performance issues
* keep split per callsign map in IInterpolator (so it is available for all interpolators)
* Interpolator using CWorker, so it can run in background
* added signals to provider to add split situations / callsigns
* adjustments to airspace / context for those signals
* thread safe access to those from interpolator
* renamed from rendered to remote aircraft as discussed
* adjust samples
* removed no longer required functions in timestampobjectlist
* changed connectioStatusChanged from uint -> int
2015-03-20 16:48:58 +01:00
Klaus Basan
38a8c45b9e refs #369, thread safe access to aircraft parts, situations 2015-03-20 16:33:54 +01:00
Roland Winklmeier
d3bdad9ef6 refs #321 Handle received aircraft parts in airspace monitor 2015-03-20 16:33:15 +01:00
Klaus Basan
915492670c refs #369, prepared for aircraft parts and removed addAircraftSituation 2015-03-20 16:32:04 +01:00
Klaus Basan
366721d9ad refs #369, first version of IRenderedAircraftProvider in airspace monitor
(no aircraft parts yet)
2015-03-20 16:31:18 +01:00
Klaus Basan
de23d1f5bc refs #369, changed from CAircraftList to CSimulatedAircraft list
In the same step fixed / revised issues:
* make sure ATCT stations are removed from client list when disconnected
* use removeByCallsign functions
2015-03-20 16:31:11 +01:00
Klaus Basan
fe4613a868 refs #369, adjusted contexts to use own aircraft provider
* removed unused functions / signals
* removed no longer used members / update timers
* Pass provider to contructors
* no direct access to monitor in other contexts
2015-03-20 16:30:40 +01:00
Klaus Basan
c61a963a99 refs #364, refs #368 contexts:
* changed to CSimulatedAircraft / Simulation::CAircraftModel
* added new functions such as icons for model
* improved ICAO code handling in airspace
* removed implicit logging from network context
2015-01-24 01:15:21 +01:00
Klaus Basan
8f746d59b9 refs #358, adjusted simulator context and airspace monitor for model matching 2014-12-28 22:19:44 +01:00
Klaus Basan
366769a6b8 Formatting, doxygen, typo aircrafts (to aircraft),
removed some debug output, {} in if statements
2014-12-28 20:46:14 +01:00
Roland Winklmeier
522c1263ef Fix missing removedAircraft signals when disconnecting from network 2014-10-07 23:37:12 +02:00
Roland Winklmeier
5fe4ea3039 refs #324 connect airspace watchdog to airspace monitor 2014-10-07 23:36:59 +02:00
Klaus Basan
4b50134d2a refs #325, refs #330 fixed apply method to return list of changed properties
* changed CValueObject apply
* created CIndexPropertyList
* renamed CIndexVariantMap to CPropertyIndexVariantMap
2014-10-07 13:10:33 +02:00
Klaus Basan
4500bda125 Added updates by VATSIM data file for voice capabilities 2014-09-09 20:07:29 +02:00
Klaus Basan
2127238ed4 Doxygen, renaming, formatting
* Formatting, renaming to current schema
* Minor tweaks
2014-09-09 20:07:27 +02:00
Klaus Basan
e4545f23d2 refs #322, included context menu and methods for injecting test data (ATC stations) in GUI 2014-09-09 20:07:23 +02:00
Mathew Sutcliffe
a6fd2bdeb2 refs #283 CAirspaceMonitor: added signals to notify when an aircraft is added or removed 2014-08-27 00:02:34 +01:00
Klaus Basan
3fb5087ea8 Renaming, header, Doxygen, formatting (during refs #314) 2014-08-24 02:45:52 +02:00