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.
From https://github.com/Juanvvc/c172p-detailed/ release/2016.1
commit 3f33b88bb015a8ee685ab3178932d16d6e072410
A big Thank-You to the c172p-detailed team for their ongoing work.
- Small update to the main hydrodynamics system.
- Added initial versions of two systems for modelling hydrodynamic planing.
Signed-off-by: Anders Gidenstam <anders@gidenstam.org>
Channel spacing in NAV band is 50kHz not 25kHz as in COMM band.
Also convert line endings to LF instead of CR/LF
And remove BOM which is not necessary for UTF-8
The transponder instrument MUST be named "transponder" in the instrumentation
file to work with multiplayer and the radio dialog.
Thanks to lens(at)bitwisetech.com for the report and patch.
- Fix: runtime exception in remove_failure_mode()
- Fix: keep failure & trigger status on teleport.
- Fix: allow random failures from the gui to be enabled/disabled multiple times.
- Fix: mcbf/mtbf are set to zero when they fire, so they can be reactivated from the gui.
- Fix: string casts of several trigger types had syntax errors.
- Usability: screen messages related to failures now use positive logic:
"condition 100%" instead of "failure level 0%"
- Performance: Time triggers now use internal timers, instead of requiring being polled.
- Reviewed Trigger interface for more rational usage. reset() is replaced by arm()/disarm()
- Added a subscription interface to listen to FailureMgr events.
- Added an internal log buffer to keep a record of relevant events and present them to gui elements.
- Several usability improvements to the FailureMgr Nasal API.
- Making run_tests accept a target namespace as an argument.
- Fixed asynchronous trigger callback mechanism.
MCBF triggers working again.
- Fixed numerical problems when calculating standard deviation
for rand triggers.
Includes a simple automated testing framework for Nasal
(Aircraft/Generic/Systems/Tests/test.nas) and a collection of unit tests
for the failure manager, mostly for the different triggers.
Replaces existing Nasal/failures.nas script with a programmable failure
manager. The failure manager allows dynammic creation and removal of
failure modes, on demand activation and a flexible set of triggers.
The public interface can be found in Nasal/FailureMgr/public.nas
Aircraft/Generic/Systems/failures.nas provides a library of triggers and
failure actuators ready to use for programming the failure manager.
A compatibility layer is included under
Aircraft/Generic/Systems/compat_failure_modes.nas.
This compatibility layer is currently loaded on startup and programs the
FailureMgr to emulate the former behavior (same set of failure modes and
compatible interface through the property tree).
This first milestone is only intended to replace the failure management
engine underneeth with minimum visible changes, and hopefully no aircraft
breakages. Future milestones will build upon this to add a Canvas based
procedural GUI and example integration on aircrafts.
All reviewed aircraft now support total energy compensated variometers and
reuse a common implementation. The following issues have been addressed, either
explicitly or as a benefit from the integration:
+ Fixed incorrect variometer readouts at sim/speed-up values != 1
+ Fixed erratic instrument behavior after pause and reinit
+ Reworked all vario needle animations to be smoother.
+ Fixed ASK13 yaw string. Now it deflects to the correct side.
+ Added temperature and (fake) battery readings to ILEC SC7 digital variometer.
+ Fixed ILEC SC7 sign readout (didn't show the minus sign).
Note: The ASK21 models have not been integrated, as they will need a more
profound cockpit overhaul.
A Nasal library for implementing instruments that are specific for soaring.
This version supports:
+ Total Energy compensated variometers
+ Netto variometers
+ Relative (aka Super-Netto) variometers
+ Configurable dampener for simulating mechanical needles
+ Averager
+ Speed to fly computer
+ Speed Command variometer
+ Yaw string (it's an instrument, isn't it?)