Commit Graph

188 Commits

Author SHA1 Message Date
Klaus Basan
1243d6e93a Ref T323, better parsing of altitude values
- assume "24000" also as FL
- epsilon comparison
- use 0-9 char functions
- style
2018-09-12 17:40:24 +02:00
Roland Winklmeier
7a7f1f2df0 Correct the received range of ATIS stations
ATIS stations seem to send 0 NM as their visibility range. That can cause
them to be filtered in the ATC online view.
Overwrite the range value with the default TWR range of 50 NM.
2018-09-12 17:01:50 +02:00
Roland Winklmeier
00abf48047 Initialze onGround for VatPilotPosition and VatPilotInterimPosition
This caused some issues in the calculation of the PBH integer and consequently
an offset of about 30 degrees heading.

ref T327
2018-09-12 17:01:44 +02:00
Klaus Basan
5b7ec38b0a Clear state of Network VATLIB 2018-08-26 15:26:52 +02:00
Klaus Basan
956ffd949d Style 2018-08-26 15:26:49 +02:00
Klaus Basan
183280fa75 Ref T308, using an optimized (faster) function for YYYYmmdd string parsing
Ref T309, found that QDateTime::fromString returns a QDateTime object with local timestamp. Using a optimized version returns UTC objects now.

- The bug was found writing a unit test for Ref T308
- Slack: https://swift-project.slack.com/archives/G7GD2UP9C/p1534848725000100
2018-08-22 12:31:53 +02:00
Klaus Basan
5ff5c18b32 Avoid Qt warning of unused cmd.line argument (QCommandLineParser: option not defined)
Log msg: QCommandLineParser: option not defined: "clientIdAndKey"
2018-08-16 14:44:04 +02:00
Klaus Basan
9be7572c36 Network VATLIB refactoring
* use qit64 for timestamp related integers
* use valueInteger for PQ integer values (rounding)
2018-08-16 14:44:03 +02:00
Klaus Basan
b671c2a0a5 Style, removed redundant CForm overrides 2018-08-07 20:41:06 +02:00
Klaus Basan
a2bca21715 Ref T286, moved server settings into "network" namespace (not VATSIM specific) 2018-07-09 22:30:33 +02:00
Klaus Basan
c1208dd68c Return const & 2018-07-03 21:02:32 +02:00
Klaus Basan
6fb620a8f6 Clearer warning 2018-06-13 13:59:43 +02:00
Roland Winklmeier
990035dd6a Update externals
* vatlib 0.9.8 (without opus codec)
2018-06-13 13:59:40 +02:00
Klaus Basan
abfa12c1ec Ref T272, skip VATSIM readers if (for sure) connected to an other eco system
Remark: This requires the server (=> ecosystem) to be connected, otherwise VATSIM data (before that connection) are still read as default
2018-06-01 01:30:31 +02:00
Klaus Basan
776a096168 Ref T272, network can add as ECO system provider (the server connected knows its ECO system) 2018-06-01 01:30:29 +02:00
Klaus Basan
ab0c34b16a Ref T261, added toFullJson in parts
* needed, since the "is full" attribute needs to be added
* fixed usage in network vatlib
2018-05-08 16:06:49 +02:00
Klaus Basan
a1b2e92684 Ref T261, move default offset times to FSD setup
* make it available in "blackmisc"
* remove dependency from "VATSIM"
2018-05-08 16:06:46 +02:00
Klaus Basan
0d76cc8d3e Formatting 2018-05-08 16:06:33 +02:00
Klaus Basan
bedfb5eb67 Ref T259, Ref T243 align timestamp values to qint64 2018-05-04 23:03:26 +02:00
Klaus Basan
9dabef447f Ref T259, Ref T243 directly convert to Client capabilities enum in vatlib, do not use an interim enum 2018-04-13 23:36:47 +02:00
Klaus Basan
011f31ad2b Formatting 2018-04-13 23:36:37 +02:00
Klaus Basan
f8eedda946 Ref T259, Ref T243 use FSDSetup in VATLIB 2018-04-05 02:54:56 +02:00
Klaus Basan
2a0b81de5b Ref T259, Ref T243 client provider used with network classes
Also adds a dummy testing class
2018-04-05 02:54:46 +02:00
Klaus Basan
4dfb973a5b Ref T259, Ref T243 moved the "awareness" classes to the interfaces
* allows access to the awareness objects if only the interface is available
* can change the provider via the interface
2018-04-05 02:54:34 +02:00
Klaus Basan
03af49348b Ref T259, Ref T243 formatting 2018-04-05 02:53:55 +02:00
Roland Winklmeier
ff37704a59 Filter user password from raw FSD message
Everytime a login packet is sent, it contains the password in clear text.
This was also written to file log and users might send this file to
developers without knowing.
The password is now filtered by comparing all FSD messages until the
login packet is found.
2018-02-22 01:26:30 +01:00
Klaus Basan
78e61e25ac Formatting 2018-02-16 12:13:35 +01:00
Klaus Basan
80f5d9b595 Ref T240, use ITimestampBased / ITimestampObjectList
* using the existing base classes (interfaces) gives you plenty of useful utility functions
* hint: we do not init with current timestamp as default as this is relatively slow
2018-02-04 08:59:39 +01:00
Klaus Basan
6e933b089c Ref T243, track position updates to determine offset times directly in network vatlib
* track position updates and keep records of offset times
* hence parts and positions can already have a dynamic offset time
* parts config received will include this offset time
2018-02-04 08:53:54 +01:00
Klaus Basan
e9e0ae1ff4 Ref T241, Ref T243 formatting and minor tweaks
* unified how we write thread_local const
* ASSERTs
* formatting
2018-02-04 08:53:48 +01:00
Klaus Basan
5aad426ced Ref T239, removed "QTimer m_xxx { this };" pattern
* not in worker classes as parent might have a relevance there
* in UI classes it is useless
2018-02-02 21:26:50 +01:00
Roland Winklmeier
b12002caa2 Improve the performance and usability of the raw FSD message display
* Replaced QListView with QPlainTextEdit
* Added filter options for packet type and text
* Option to globally disable/enable the feature. Default disabled

Maniphest Tasks: Ref T240
2018-02-02 21:26:25 +01:00
Klaus Basan
8eabd468af Use StringBuilder in network vatlib 2018-01-30 20:30:49 +01:00
Klaus Basan
a3bbb72185 Simplify (remove duplicate spaces) text messages 2018-01-30 20:30:46 +01:00
Klaus Basan
c39d4f66a3 Setting parent object for timers and formatting 2018-01-30 20:30:39 +01:00
Roland Winklmeier
2bb3bb3cf8 Ignore yet another FSinn P2P packet 2018-01-29 12:17:24 +01:00
Roland Winklmeier
704068d299 Add methods to receive and write raw FSD messages
This commit adds methods to register for live FSD message reception. The
amount of traffic can be quite high, therefore no normal signal is used -
which would be available via DBus. Instead one has to connect manually
by passing a functor. This guarantees that we communicate only in-process.
If someone tries to connect on the proxy side, the connection will fail.
This needs to be handled properly in client code.
This commit also adds a method to write the FSD message to a selected file.

Maniphest Tasks: T222
2018-01-26 12:40:36 +01:00
Roland Winklmeier
2b2813af20 Send correct SimType to FSD server depending which plugin is loaded 2018-01-22 14:08:32 +01: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
Klaus Basan
3dc1c69653 Ref T219, some FP renamings and fix to set prefix/postfix in FP value object 2018-01-14 18:46:36 +01:00
Klaus Basan
23f48a866d Display VATLIB version in "about swift" 2018-01-14 18:45:45 +01:00
Klaus Basan
5cd9347015 Ref T215, use altitude utility function for VATLIB 2018-01-14 18:45:38 +01:00
Klaus Basan
5cfacc6066 Ref T215, use homebase + real name string 2018-01-14 18:45:25 +01:00
Roland Winklmeier
8bb841398d Filter ATIS query replies from normal text messages
Non-VATSIM FSD servers send the controller ATIS message as a regular
text message. swift therefore could not recognize it as such and was
handling the reply as any other text message.
This changes adds some checks to detect ATIS replies after a query.

Maniphest Tasks: T216
2018-01-13 05:04:23 +01:00
Roland Winklmeier
d68f678cc5 Upgrade to vatlib v0.9.7 2018-01-13 05:04:21 +01:00
Klaus Basan
8c539fab0a Ref T215, FP value class
* split into prefix / aircraft ICAO / suffix
* suffix equipment code functions
* fixed FP remarks loading (JSON file)
* fixed missing sending of aircraft ICAO
2018-01-13 05:04:17 +01:00
Klaus Basan
1f9337609a Ref T172, adjustments for ecosystem
* stricter equal comparison ("changed" flag)
* set VATSIM server type and ecosystem in VATSIM reader
2017-12-29 19:49:38 +01:00
Klaus Basan
2c60dfd133 Ref T172, using centralized swift test server
Remark: The credentials for the server were distributed in multiple places, now cnetralized in one
2017-12-29 19:49:30 +01:00
Klaus Basan
379c53e0cc Ref T189 and review follow up, replacing the changed values seems to be 4x faster
(tested in samples)
2017-12-21 19:50:23 +01:00
Klaus Basan
e81211775b RW's review fixes Ref T202 Ref T189 Ref T210
* dmg comment and follow up issue created
* cppcheck-suppress passedByValue in cppcheck.supp
* renamed from Xsb -> XSwiftBus
* reverted wrong "static const QString dataStr"
2017-12-21 19:50:19 +01:00