TwinFan / LiveTraffic

LiveTraffic is an X-Plane multiplayer plugin, which fills your sky with live air traffic based on public flight tracking data.
https://twinfan.gitbook.io/livetraffic/
Other
99 stars 24 forks source link

Ground planes not removed (at gates) #184

Closed TwinFan closed 4 years ago

TwinFan commented 4 years ago

Describe the bug Sometimes (exact circumstances unknown) planes on the ground aren’t removed even when no data is available any longer.

Seems to happen (only?) to planes sitting at gates.

To Reproduce Yet unclear

Expected Behavior Remove plane when no tracking data is available any longer.

Screenshots issue 184 stuck at gate

Technical Info:

Log.txt Showed that plane in question has a „Stopped @ SUP“ record, but its timestamp is 03-SEP-2070, i.e. waaaaay off Log.txt

TwinFan commented 4 years ago

Last detailed position record in the attached Log.txt:

0:41:56.441 LiveTraffic 03-May 03:31:080.5084Z DEBUG LTFlightData.cpp:1775/TryFetchNewPos: DEBUG POS DATA: a/c A3EC93 N352DN SimTime: 1588476668.5 - 2020-05-03 03:31:08
a/c A3EC93 (A321 N352DN)
<undefined>  <- turn
1588476668.5: (33.94718, -118.40329)   111.5ft   GND_ON SUP    Taxi          3016 {h 234 , p   0, r   0} Y: 111.5ft 0kn 0ft/m Phase: 10 Taxi
posList:
1588476640.0: (33.94718, -118.40329)   111.5ft   GND_ON SUP    Taxi          3016 {h 234 , p   0, r   0} <h   0,     0m @   0kt,   -3ft/m>
1588476669.0: (33.94718, -118.40329)   109.9ft   GND_ON SUP    Taxi          3016 {h 234*, p   0, r   0} <h   0,     0m @   0kt,    0ft/m>
3176952382.0: (33.94718, -118.40329)   109.9ft   GND_ON SUP    Stopped       3016 {h 234*, p   0, r   0}
posDeque:
<empty>
posToAdd:
<empty>

Timestamp 3176952382.0 of the artifical Stopped record translates to September 3, 2070 6:46:22 AM - just need to wait for 50 years.

I just notive that 3176952382.0 happens to be twice a reasonable timestamp:

3176952382 / 2 = 1588476191 = May 3, 2020 3:23:11 AM

Not only is this a reasonable time during the simulator session, it happens to be very close to the time when the Stopped entry was added. It so happens that during those times the plane was in focus and position log also was available: Last position log before entry of the Stopped line:

0:33:51.839 LiveTraffic 03-May 03:23:030.9049Z DEBUG LTFlightData.cpp:1775/TryFetchNewPos: DEBUG POS DATA: a/c AB7A21 DL929 SimTime: 1588476183.9 - 2020-05-03 03:23:03
a/c AB7A21 (B739 DL929)
<undefined>  <- turn
1588476183.9: (33.94750, -118.40388)   111.5ft   GND_ON SUP    Taxi          3015 {h 202 , p   0, r   0} Y: 111.5ft 0kn 0ft/m Phase: 10 Taxi
posList:
1588476165.3: (33.94750, -118.40388)   111.5ft   GND_ON SUP    Taxi          3015 {h 202 , p   0, r   0} <h   0,     0m @   0kt,   -5ft/m>
1588476184.4: (33.94750, -118.40388)   109.9ft   GND_ON SUP    Taxi          3015 {h 202*, p   0, r   0} <h  22,    17m @   1kt,    0ft/m>
1588476228.5: (33.94764, -118.40381)   109.9ft   GND_ON SUP    Taxi          3015 {h 202*, p   0, r   0} <h  30,    58m @   5kt,   -0ft/m>
posDeque:
1588476250.6: (33.94809, -118.40349)   109.9ft   GND_ON TXI    Taxi          1845 {h  83*, p   0, r   0} <h  83,     5m @   1kt,    0ft/m>
1588476266.7: (33.94809, -118.40344)   109.9ft   GND_ON TXI    Taxi          1845 {h  83*, p   0, r   0}
posToAdd:
<empty>

Then a new record arrives:

0:34:12.128 LiveTraffic 03-May 03:23:240.2026Z DEBUG LTFlightData.cpp:1522/AddNewPos: DEBUG ADDED   NEW POS: 1588476263.0: (33.94730, -118.40340) -nan(ind)ft   GND_ON                           {h -nan(ind) , p -nan(ind), r -nan(

The next position log entry shows the wrong last line:

0:34:12.190 LiveTraffic 03-May 03:23:240.2564Z DEBUG LTFlightData.cpp:1716/AppendNewPos: DEBUG POS DATA: a/c A3EC93 N352DN SimTime: 1588476204.3 - 2020-05-03 03:23:24
a/c A3EC93 (A321 N352DN)
<undefined>  <- turn
1588476204.3: (33.94718, -118.40329)   111.5ft   GND_ON SUP    Taxi          3016 {h 234 , p   0, r   0} Y: 111.5ft 0kn 0ft/m Phase: 10 Taxi
posList:
1588476189.0: (33.94718, -118.40329)   111.5ft   GND_ON SUP    Taxi          3016 {h 234 , p   0, r   0} <h   0,     0m @   0kt,   -5ft/m>
1588476208.0: (33.94718, -118.40329)   109.9ft   GND_ON SUP    Taxi          3016 {h 234*, p   0, r   0}
posDeque:
1588476228.0: (33.94718, -118.40329)   109.9ft   GND_ON SUP    Taxi          3016 {h 234*, p   0, r   0} <h   0,     0m @   0kt,    0ft/m>
1588476248.0: (33.94718, -118.40329)   109.9ft   GND_ON SUP    Taxi          3016 {h 234*, p   0, r   0} <h 324,    16m @   2kt,    0ft/m>
1588476263.0: (33.94730, -118.40340)   109.9ft   GND_ON                           {h  54 , p   0, r   0} <h 144,    16m @   0kt,    0ft/m>
3176952382.0: (33.94718, -118.40329)   109.9ft   GND_ON SUP    Stopped       3016 {h 234*, p   0, r   0}
posToAdd:
<empty>
TwinFan commented 4 years ago

Code that inserts the stop position (when a plane on the ground is running out of live data) is wrong. It adds current time to a copied timestamp, it should just set it.