FGAIS: Difference between revisions

Jump to navigation Jump to search
470 bytes added ,  31 October 2012
no edit summary
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:Icecode|F-JJTH]] (F-JJTH)
| 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 X: Send packets back to FlightGear {{Pending}} ====
==== 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 recompute() method to update positions using interpolation/extrapolation {{Progressbar|30}}
* 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|10}}  
* 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 ==
577

edits

Navigation menu