577
edits
(→Issues) |
No edit summary |
||
| Line 3: | Line 3: | ||
| image = Captur34.jpg | | image = Captur34.jpg | ||
| alt = Screenshot showing MPMAP with F-JJTH's FGAIS addon | | alt = Screenshot showing MPMAP with F-JJTH's FGAIS addon | ||
| developedby = [[User: | | developedby = [[User:F-JJTH|F-JJTH]] & [[User:Hooray|Hooray]] | ||
| initialrelease = | | initialrelease = | ||
| latestrelease = | | latestrelease = | ||
| Line 36: | Line 36: | ||
* determine if the traffic is accelerating/delecerating | * determine if the traffic is accelerating/delecerating | ||
* filter all traffic based on a range of 100nm (fgms main thread) | * filter all traffic based on a range of 100nm (fgms main thread) | ||
As of 31/10/2012, the modified fgms version is now also able to: | |||
* create MP packets for each AI traffic | |||
* send MP packets to FG client as MP traffic | |||
=== Issues === | === Issues === | ||
| Line 68: | Line 73: | ||
That would ensure that the main thread has still enough data, even though our background thread is limited to run only at 1 minute intervals. Otherwise the main thread blocks, because it has to wait for new data from the positionMap. | That would ensure that the main thread has still enough data, even though our background thread is limited to run only at 1 minute intervals. Otherwise the main thread blocks, because it has to wait for new data from the positionMap. | ||
In order to see a smooth movement of our AI traffic we need to calculate a fictive velocity, this should be done in recompute_aircraft() | |||
Currently our extrapolation routine doesn't apply climb rate, we need to implement this. | |||
=== Roadmap === | === Roadmap === | ||
| Line 73: | Line 86: | ||
==== Milestone: Move FGAIS to a background thread {{Done}} ==== | ==== Milestone: Move FGAIS to a background thread {{Done}} ==== | ||
==== Milestone | ==== Milestone: Send packets back to FlightGear {{Done}} ==== | ||
==== Milestone: Smooth AI traffic in Flightgear {{Pending}} ==== | |||
== Planned Features == | == Planned Features == | ||
| Line 88: | Line 102: | ||
== Work in Progress == | == Work in Progress == | ||
* Start working on a '''removeOldAircraft()''' method to delete pointers of expired aircraft {{Progressbar|40}} | * Start working on a '''removeOldAircraft()''' method to delete pointers of expired aircraft {{Progressbar|40}} | ||
* Implement | * Implement aircraft_recompute() method to update positions using interpolation/extrapolation {{Progressbar|50}} | ||
* Only recompute positions once, in the FGAIS worker thread - and NOT in the fgms main thread ! {{Progressbar|30}} | * Only recompute positions once, in the FGAIS worker thread - and NOT in the fgms main thread ! {{Progressbar|30}} | ||
* Send packets to fgfs clients via sendAITraffic() method {{Progressbar| | * Send packets to fgfs clients via sendAITraffic() method {{Progressbar|100}} | ||
* Move the vessel tracking code out into its own module {{Progressbar|20}} (Hooray) | * Move the vessel tracking code out into its own module {{Progressbar|20}} (Hooray) | ||
* Implement an OOP framework for different providers {{Progressbar|20}} (Hooray) | * Implement an OOP framework for different providers {{Progressbar|20}} (Hooray) | ||
| Line 99: | Line 113: | ||
* Split up large methods and use helper functions {{Progressbar|70}} (Hooray) | * Split up large methods and use helper functions {{Progressbar|70}} (Hooray) | ||
* Use SG_LOG() instead of std::cout {{Progressbar|40}} (Hooray, separate branch!) | * Use SG_LOG() instead of std::cout {{Progressbar|40}} (Hooray, separate branch!) | ||
== Todo (Nobody working on any of these == | == Todo (Nobody working on any of these == | ||
edits