Emesary

From FlightGear wiki
Revision as of 10:30, 2 April 2016 by Hooray (talk | contribs) (https://sourceforge.net/p/flightgear/mailman/message/34985731/)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
This article is a stub. You can help the wiki by expanding it.

Intro

Richard has finished porting his Emesary system to Nasal.

There is a set of notes at [1] that explains the whole thing with a worked example (ACLS).

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.

This is in Richard's git repository in my commit, together with the changes to the AI carriers to add ACLS (carrier ILS): https://sourceforge.net/u/r-harrison/fgdata/ci/54165c213f03638a4cb02c848c4f2b234c537f66/

There are many possible applications for Emesary within the system, it solves the problem of how to connect generic instruments to aircraft that have different implementations and properties that need to be used. I've been looking at how to abstract out the interface to the MFD and NavDisplay.

Richard has plans to extend this to be able to transmit over mp (probably layered ontop of mp-broadcast). It would also probably work quite well with the HLA FOM to give us a way for models to communicate with other models.[1]

  1. Richard Harrison (Apr 1st, 2016). [Flightgear-devel] Message passing interface for Nasal.