1
0
Fork 0
Commit graph

4 commits

Author SHA1 Message Date
Anton Gomez Alvedro
c108f3b988 Bugfixes and improvements to the Failure Manager
- 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.
2014-12-21 12:39:52 +01:00
Anton Gomez Alvedro
7b46de3e27 Code review comments and bugfixes
- 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.
2014-06-06 21:41:13 -05:00
Anton Gomez Alvedro
081602633a Basic unit tests for the failure management framework
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.
2014-06-06 21:41:12 -05:00
Anton Gomez Alvedro
5df7a784e5 Failure Management Framework (1st milestone)
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.
2014-06-06 21:41:11 -05:00