Emesary is a simple and efficient class based interobject communcation system to allow decoupled disparate parts of a system to function together without knowing about each. It allows decoupling and removal of dependencies by using notifications to cause actions or to query values.
Emesary is all about decoupling and removing dependecies, and improving the structure of code. Using Emesary you can more easily define the what rather than the how. By using what is essential an event driven system it is easy to add or remove modules, and also for extra modules to be inserted that the rest of the aircraft knows nothing about (e.g. FGCamera or the Walker).
see: http://chateau-logic.com/content/emesary-nasal-implementation-flightgear
The AN/SPN-46 is an ACLS implementation using Emesary. ACLS is the Navy's version of ILS.
---------------------------------------------------------------------------
There is also support for transmitting messages over MP which allows models to communicate with each other in a decoupled method using notifications. What happens is that bridged messags simply arrive at the Receive method of recipients in other models on other running instances without the need to do anything special.
This links together the generic MFD and the NavDisplay; it allows a fairly easy method to add a Map page to an MFD device.
----------------------
See: http://wiki.flightgear.org/Canvas_MFD_Framework
----------------------
Instantiate parameters:
1. pfd_device (instance of PFD_Device)
2. instrument display ident (e.g. mfd-map, or mfd-map-left mfd-map-right for multiple displays) - used to map to the property tree
3. layer_id: main layer in the SVG
4. nd_group_ident : group (usually within the main layer) to place the NavDisplay
5. [optional] switches - used to connect the property tree to the nav display. see the canvas nav display.
To add a canvas nav display page simply do
me.some_page = PFD_NavDisplay.new(me.PFD,"Situation", "mpcd-sit", "ID", "jtids_main");
This is for all of the files restored in edb2c9 and 5453fb. The new files have
been restored to their state at commit f739a7, the commit prior to the purging
of the Models directories.
This is for all of the files restored in edb2c9. The new files have been
restored to their state at commit f739a7, the commit prior to the purging of the
Models directories.
This follows from the thread:
http://thread.gmane.org/gmane.games.flightgear.devel/81852/focus=81859
All the $FG_ROOT/Models/* files found using a grep command in both FGData and
FGAddon and now missing in FGData were restored to their state at commit f739a7,
the commit prior to the purging of the Models directories. The command used
was:
grep -rI "Models/3ds\|Models/Agriculture\|Models/StreetFurniture\|Models/Structures\|Models/Sport\|Models/Power\|Models/Misc\|Models/Aircraft\|Models/Airport\|Models/Boundaries\|Models/Communications\|Models/Fauna\|Models/Military\|Models/Transport\|Models/Trees\|Models/Industrial\|Models/Residential"
- Improved reporting of variable wind and cavok.
- Eliminate duplicate speech of "airport" in preamble.
- Reusable ATIS fragments for use in multiple ATIS formats.
- Convert existing ATIS formats to make use of reusable sections.
- New ATIS formats for UK and US/CA/Pacific.